第一期:
第二期:
第三期:
一 關於泛型
根據最新的草案,也許未來Go的泛型是這樣:
func Echo[T any](s []T &34;) { … }
對,也許可能用的是中括號。和其他語言使用<>有區別。
默默的等待中。泛型還是很有必要的。不過目測大家使用的goland又要升級一波了哦
另外,有條件的同學可以到 https://go2goplay.golang.org/ 去體驗 (不要問 「怎麼個有條件法」,你懂的)
二、關於golang寫的web服務軟體
類似nginx、apache之類的軟體有嗎? 有,看這個https://github.com/caddyserver/caddy
大約是去年我們在項目裡用過一次,體驗還是非常不錯的。支持赤裸裸的web發布、反代、網關、負載均衡和k8s ingress controller。 試一試不會懷孕的
三、有人說徹底搞懂Go需要學彙編?
從技術角度:是的。從業務角度呢?答:可以不用這麼徹底,聊點別的吧~~~(~_~)
開發GO的程式設計師應該是食物鏈頂端的程式設計師了,連彙編都是自己搞了一套。 go的彙編基於plan9,也是一種偽彙編,所謂的偽彙編:它並不對應某種真實的硬體架構。也是利用這種偽彙編為目標硬體生成具體的機器指令。這就是為何Go有這麼好的移植性的原因。
四、前兩天在 頭條裡 聊到了點「程式設計師積累人脈「那些事
這種話題我知道很招黑。因為始終會有一些雙標黨,一邊噴擊程式設計師應該只搞技術,不應該入世,甚至應該不食人間煙火。一邊自己其實根本做不到。。。。(你懂的)
作為我個人還是那句話:除非你天賦特別高,高到只需要技術就能行走天下。否則技術、人脈和社會, 都是 我們程式設計師 生活的一部分,根本不衝突。
五、又是招黑話題:GO為什麼會如此火爆
不談語言好壞,沒啥好談。Go火爆是有特殊原因的,我舉個慄子:
之前我們自己項目做過一個測試,相同的功能+相同的硬體環境。用java寫的程序,默認(注意用詞)情況下承受的壓測數據不如Golang。而且耗費的資源比較多。 當然,後面我們找來了某java老手進行各種優化包括JVM的調優。 事實上發現,經過瘋狂優化後 Java的壓測數據是好於Go的(耗費的資源依然比Go多)。
以上不是在說誰好(再討論這個我死你面前)。 就一個詞:成本。 你品你細品~~~~。
另外,還有個&34;-----那就是現在進入了雲原生時代。那麼 Go 的一些特性使它相對容易成為「雲原生語言」。 (注意,其他語言也能,但是沒這麼便宜)
六、關於Go和領域驅動(DDD)
GO其實不是純面向對象語言,因此在寫DDD的過程中還是有些不絲滑的感覺。 因此我在自己的gin腳手架上做了個簡化和閹割版的講解,目前剛開始更新,免費的。看戳這裡 http://b.jtthink.com/read.php?tid=571
七、關於grpc工具
之前課程裡也演示過grpc-gateway,可以把grpc映射成http api的方式發布出去。這個不再贅述,其實還有一個 是 命令行工具
譬如有些後臺服務我們直接做成了grpc服務,那麼除了用http api發布出去。假設我們是給系統管理用的,不需要http。只需要命令行操作就行了,有啥辦法呢?。 於是 可以用gRPCurl
地址戳這裡: https://github.com/fullstorydev/grpcurl
更多信息,戳「了解更多」