@go

Stories List
@jianghushinian

使用 Uber automaxprocs 正確設置 Go 程序線程數

公眾號首發地址:https://mp.weixin.qq.com/s/5wrYaHXBpuN0WxKAaNNp-A 我們知道 Go 語言沒有直接對用户暴露線程的概念,而是通過 goroutine 來控制併發。不過,在 Go 程序啓動時,其背後的調度器往往是多線程運行的。在 Go 語言的 GMP 調度模型中,P 決定着同時運行的 goroutine 數,我們可以通過環境變量 GOMAXPROCS 或

jianghushinian Avatar

@jianghushinian

Nickname 江湖十年

@jianghushinian

Go 語言中你不知道的 io.Discard 妙用

公眾號首發:https://mp.weixin.qq.com/s/no995DjgiS3muyPSt2QhUg 在 Go 語言中,io.Discard 是一個實現了 io.Writer 接口的特殊變量,用於丟棄所有寫入的數據。 io.Discard 在 Go 1.15 及之前版本中是放在 io/ioutil 包中實現的。而在 Go 1.16 版本,得以正式轉正,被實現在 io 包中。本文我們來一起

jianghushinian Avatar

@jianghushinian

Nickname 江湖十年

@jianghushinian

在 Go 語言中如何實現協程池

公眾號首發:https://mp.weixin.qq.com/s/Xbk4QF7HFll102xaF5r_3Q 如果你熟悉 Java、Python 等編程語言,那麼你一定聽説或者使用過進程池或線程池。因為進程和線程不是越多越好,過多的進程或線程可能造成資源浪費和性能下降。所以池化技術在這些主流編程語言中非常流行,可以有效控制併發場景下資源使用量。 而 Go 語言則沒有提供多進程和多線程的支持,僅提

jianghushinian Avatar

@jianghushinian

Nickname 江湖十年

@jianghushinian

一行命令統計代碼行數

公眾號首發:https://mp.weixin.qq.com/s/N1JxiRnr5c4pq0RBo3RGYA 我在網上衝浪時,在 GitHub 上發現了一個感興趣的開源項目 OneX ,我將其下載到本地,現在我該如何知道這個項目的體量呢?一個非常直觀的指標是看這個項目有多少行代碼。 我們可以使用如下命令,來統計 OneX 項目代碼行數: $ cd onex $ find . -name "*.g

jianghushinian Avatar

@jianghushinian

Nickname 江湖十年

@jianghushinian

在 Go 中如何使用有限狀態機優雅解決程序中狀態轉換問題

公眾號首發地址:https://mp.weixin.qq.com/s/r8mqOUIoCu0713XcH3P1-Q 在編程中,有限狀態機(FSM)是管理複雜狀態流轉的優雅工具,其核心在於通過明確定義狀態、事件和轉換規則,將業務邏輯模塊化。本文將探討在 Go 中如何使用有限狀態機。 有限狀態機 在介紹有限狀態機之前,我們可以先來看一個示例程序: https://github.com/jianghus

jianghushinian Avatar

@jianghushinian

Nickname 江湖十年

@wangzhongyang_go

字節的後端實習二面,八股盛宴!

新的一週,祝你開心! 好久沒分享面經了,今天來個大的---字節的後端實習二面,簡直就是八股盛宴,問的太多太全面了。 面經詳解 1. 數據庫的隔離級別有哪些? 數據庫事務隔離級別主要分為四種,從低到高依次為: 讀未提交(Read Uncommitted) 允許事務讀取其他事務未提交的數據,可能導致髒讀、不可重複讀和幻讀。 讀已提交(Read Committ

wangzhongyang_go Avatar

@wangzhongyang_go

Nickname 王中陽講編程

@jianghushinian

在 Go 中為什麼推薦使用空結構體作為 Context 的 key

公眾號首發地址:https://mp.weixin.qq.com/s/TGNG34qJTI7SZOENidYBOA 我曾在《Go 中空結構體慣用法,我幫你總結全了!》一文中介紹過空結構體的多種用法,本文再來補充一種慣用法:將空結構體作為 Context 的 key 來進行安全傳值。 NOTE: 如果你對 Go 語言中的 Context 不夠熟悉,可以閲讀我的另一篇文章《Go 併發控制:con

jianghushinian Avatar

@jianghushinian

Nickname 江湖十年

@jianghushinian

Go 官方推薦的 Go 項目文件組織方式

公眾號首發:https://mp.weixin.qq.com/s/JwEPt3oZ3aY8ZzKddwnpiA 剛開始接觸 Go 的開發者大概都會遇到一個問題:我該如何組織我的 Go 項目?這種問題當然沒有標準答案,不過 Go 官方下場,給了廣大 Gopher 一個推薦模板。本文就來帶大家一起來學習一下 Go 官方對於 Go 項目佈局的指導原則。 本文以 Go 官方博客「Organizing a

jianghushinian Avatar

@jianghushinian

Nickname 江湖十年

@jianghushinian

萬字長文:徹底掌握 Go 1.23 中的迭代器——使用篇

公眾號首發地址:https://mp.weixin.qq.com/s/t47eJ9rYK2CZ-hIbjx7kSg 本文帶大家一起來深入探究一下 Go 1.23 中發佈的迭代器特性,這是一篇遲來的文章,再不寫這篇文章 Go 1.25 就發佈了 :),Go 1.25 預計將於 2025 年 8 月發佈。 由於篇幅過長,所以文章拆分成了上下兩篇發佈,本文為上篇——使用篇。下篇為——原理篇,記得來讀。

jianghushinian Avatar

@jianghushinian

Nickname 江湖十年

@wangzhongyang_go

為什麼很多公司都開始使用Go語言了?為啥這個話題這麼炸裂?

大家好,我是王中陽,見字如面。 今天刷掘金時,一篇關於Go語言的舊文(《為什麼很多公司都開始使用Go語言了?》)意外被推到眼前,點開評論區瞬間被“炸裂”的討論震撼——數百條留言裏,有對語言特性的犀利吐槽,有對就業前景的焦慮傾訴,也有對技術選型的理性思辨。 這場兩年前的爭論,至今仍能戳中後端開發者的核心關切。 結合自己的從業經驗與評論區大神們的觀點,再對照2025年的市場行情,我想聊聊Go與Java

wangzhongyang_go Avatar

@wangzhongyang_go

Nickname 王中陽講編程

@fannaodeshafa

別再用 if err != nil 了,學會這幾個技巧,假裝自己是Go高手

一提到 Go 的錯誤處理,大家腦海裏可能立馬浮現出滿屏的 if err != nil。它邏輯清晰,非常符合 Go 的設計哲學,這個沒法反駁。 但我發現僅僅會寫 if err != nil 是遠遠不夠的。這就像學車,拿到駕照只是第一步,上路還得重新學習。Go 官方也明確表示,未來不會引入類似 try-catch 的新語法,所以我們必須在現有的模式上玩出花來。 那些真正厲害的 Go 開發者,他們寫的系

fannaodeshafa Avatar

@fannaodeshafa

Nickname 煩惱的沙發

@hanhoudeniupai

Go從入門到進階,案例全流程實踐

一、引言 在當今這個信息爆炸的時代,編程語言層出不窮,但有一種語言憑藉其簡潔、高效和併發的特性,在眾多語言中脱穎而出,它就是Go語言。Go語言,也被稱為Golang,由Google公司開發並開源,自誕生以來就受到了廣大開發者的喜愛。本文將帶你領略Go語言的魅力,從入門到進階,逐步掌握這門強大的編程語言。 二、Go語言入門 瞭解Go語言的基本特性 Go語言具有簡潔、高效、靜態類型、編譯型等特性

hanhoudeniupai Avatar

@hanhoudeniupai

Nickname hanhoudeniupai

@5e4jkgqh

小猿圈之解讀Go語言的特點?

隨着互聯網的不斷髮展,語言也在不斷的更新,現在時代正在走向數據化、人工智能的新時代,python、Go語言開始崛起,python已成為當今時代的主流,go語言也開始流行,現在正在向Go發展,越來越多的公司需要這門技術,薪資也在不斷提升,那小猿圈為你解讀Go語言的特點都有哪些? 一、什麼是Go語言 Golang(GO)是由Google在2009年推出的編程語言,是一門全新的、現代的、語法簡潔並容易上

5e4jkgqh Avatar

@5e4jkgqh

Nickname 5e4jkgqh

@wangzhongyang_go

Python 的 PyPy 能追上 Go 的性能嗎?

在我們選擇用哪種編程語言進行後端開發的時候,Python 和 Go 似乎代表了兩種極端: Python 以人生苦短我用Python的開發效率聞名,卻經常因性能被調侃為慢如龜速; Go 則以編譯即部署的輕量和高併發性能成為雲原生時代的寵兒,卻因語法簡陋被吐槽開發像搬磚。 而 PyPy 的出現,像給 Python 注射了一劑強心針,這個基於 JIT(即時編譯)的 Python 解釋器,宣稱能讓 Pyt

wangzhongyang_go Avatar

@wangzhongyang_go

Nickname 王中陽講編程

@daqidexihongshi

最新小猿圈解讀Go語言的特點

隨着互聯網的不斷髮展,語言也在不斷的更新,現在時代正在走向數據化、人工智能的新時代,python、Go語言開始崛起,python已成為當今時代的主流,go語言也開始流行,現在正在向Go發展,越來越多的公司需要這門技術,薪資也在不斷提升,那小猿圈為你解讀Go語言的特點都有哪些? 一、什麼是Go語言 Golang(GO)是由Google在2009年推出的編程語言,是一門全新的、現代的、語法簡潔並容易上

daqidexihongshi Avatar

@daqidexihongshi

Nickname daqidexihongshi

@wzybhdnr

給想轉Go或者Go進階同學的一些建議

前言 最近一直有小夥伴私信我學Go語言的問題: 有的小夥伴覺得客户端太捲了,想轉服務端,覺得Java也卷,想學Go語言; 有的小夥伴是想從PHP或者Java轉Go,做高併發編程,覺得Go更有前途。 聊的多了,發現這是一個共性問題,所以乾脆整理成文章,希望對更多的人有幫助。 這篇文章會結合我的經歷: 聊聊我認為客户端轉服務端開發最大的挑戰是什麼? 如何高效轉型做服務端開發?如何高效學完Go基礎? 在

wzybhdnr Avatar

@wzybhdnr

Nickname 王中陽背後的男人

@innsane

重新認識 Golang 中的 json 編解碼

歡迎訪問我的個人小站 瑩的網絡日誌 ,不定時更新文章和技術博客~ json 是我的老朋友,上份工作開發 web 應用時就作為前後端數據交流的協議,現在也是用 json 數據持久化到數據庫。雖然面熟得很但還遠遠達不到知根知底,而且在邊界的探索上越發束手束腳。比如之前想寫一個範型的結構提高通用性,但是不清楚對範型的支持如何,思來想去還是用了普通類型;還有項目中的規範不允許使用指針類型的字段存儲,我一直

innsane Avatar

@innsane

Nickname 瑩醬

@wangzhongyang_go

我發現不管是Java還是Golang,懂AI之後,是真吃香!

見字如面,我是陽哥,我的文章都首發在同名公眾號:王中陽,歡迎鏈接。 兄弟們,不管你是什麼崗位,強烈建議學AI,我最近輔導的同學很多都是因為做了AI項目,拿到了遠超預期的Offer。 這篇文章不是廣告,而是告訴你怎麼在懂後端基礎之後,更好的擁抱AI的技術,怎麼學,學完後怎麼應用? 甚至你想跳槽漲薪的話,怎麼把學的AI知識寫到簡歷中,融合到你過去的項目中。 廢話不説,其實兄弟們也感受到了:純做

wangzhongyang_go Avatar

@wangzhongyang_go

Nickname 王中陽講編程

@wzybhdnr

Go 語言為什麼值得學習?

Go 語言為什麼值得學習? 下面通過我的親身經歷,結合 2025 年最新行業趨勢,聊聊為什麼 Go 語言依然是程序員最值得投資的技能 我的經歷 我是 2015 年夏天入行編程,用 Java 做 Android 開發。那年恰逢中關村創業熱潮,還沒有小程序的年代,地推下載 APP 是行業常態。我幸運趕上了黃金期 ——5 天拿到 6 個 offer,完全是企業搶人的 “供不應求” 狀態。但到了 15 年

wzybhdnr Avatar

@wzybhdnr

Nickname 王中陽背後的男人

@weiwudejiqimao

「Go學習筆記」1.初識Go

前言 由於在公司廣泛使用Docker的大環境下,突然對它的編程語言(Go)瞭解下。並且感覺現在Go語言的應用也是越來越廣泛,很多互聯網大廠都在使用,目前利用業餘時間來學習下,主流還是Java,學明白以後可能考慮轉哦?。如果你也感興趣不如一起來學習。 Go介紹 簡史 Go語言是Google於2009年正式發佈的一款開源的靜態編譯型語言。Go語言最早於2007年Robert Griese

weiwudejiqimao Avatar

@weiwudejiqimao

Nickname weiwudejiqimao

@gangyidesongshu

Go從入門到進階,案例全流程實踐

一、引言 在當今這個信息爆炸的時代,編程語言層出不窮,但有一種語言憑藉其簡潔、高效和併發的特性,在眾多語言中脱穎而出,它就是Go語言。Go語言,也被稱為Golang,由Google公司開發並開源,自誕生以來就受到了廣大開發者的喜愛。本文將帶你領略Go語言的魅力,從入門到進階,逐步掌握這門強大的編程語言。 二、Go語言入門 瞭解Go語言的基本特性 Go語言具有簡潔、高效、靜態類型、編譯型等特性

gangyidesongshu Avatar

@gangyidesongshu

Nickname gangyidesongshu

@aihejiudejiqiren_bjjawt

「Go學習筆記」2.初識Go

前言 由於在公司廣泛使用Docker的大環境下,突然對它的編程語言(Go)瞭解下。並且感覺現在Go語言的應用也是越來越廣泛,很多互聯網大廠都在使用,目前利用業餘時間來學習下,主流還是Java,學明白以後可能考慮轉哦?。如果你也感興趣不如一起來學習。 Go介紹 簡史 Go語言是Google於2009年正式發佈的一款開源的靜態編譯型語言。Go語言最早於2007年Robert Griese

aihejiudejiqiren_bjjawt Avatar

@aihejiudejiqiren_bjjawt

Nickname aihejiudejiqiren_bjjawt