Effective Go 幾乎是學習Go語言所必須閱讀的重要的文檔,以下是本人對該文檔的翻譯。由于涉及內容較多,翻譯過程中不可避免地會產生一些錯誤,希望讀到的朋友在評論中指出。隨著Go新版本的發布,我將繼續保持此文檔的更新。 最后更新時間:2014/07/13 10:19 介紹 Go是一個新語言,盡管它從已有的語言中借用了一些概念,但是Go語言獨有的特征使實際的Go程序與其他語言編寫的程序不盡相同
Channel是Go中的一個核心類型,你可以把它看成一個管道,通過它并發核心單元就可以發送或者接收數據進行通訊(communication)。
Go,會成為下一個Java嗎?不。Go 不是下一個 Java。 認為 Go 是下一個 Java,那是遠遠低估 Go 的能力。 Go 是下一個 C!
查詢: package main import ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql" "time" ) func main() { con, _ := sql.Open("mysql", "root:123456@tcp(localhost:3316)/mysql") defer con.Close() go query
因為自己對web開發比較感興趣,所以最近抽空在寫一本開源的書籍《Go Web編程》《build web application with golang》。寫這本書不表示我能力很強,而是我愿意分享,和大家一起分享Go寫web應用的一些東西。
Elvish 是一個用 Go 語言編寫的便攜式 Unix Shell
近期閑暇用Go寫一個lib,其中涉及到error處理的地方讓我琢磨了許久。關于Go錯誤處理的資料和視頻已有許多,Go authors們也在官方Articles和Blog上多次提到過一些Go error handling方面的一些tips和best practice,這里僅僅算是做個收集和小結,盡視野所及,如有不足,歡迎評論中補充。(10月因各種原因,沒有耕博,月末來一發,希望未為晚矣 ^_^)
我們為什么需要并發程序?資源利用率、時間、公平性 、簡便性
Go 1.5 主要改進: 編譯器和運行現在完全用 Go 寫(帶一點匯編)。 C 不再參與實施,所以曾經是構建分布必不可缺的 C,如今已經不見了。
Go ioutil包翻譯
希望你看到這篇文章的時候還是在公交車和地鐵上正在上下班的時間,我希望我的這篇文章可以讓你利用這段時間了解一門語言。當然,希望你不會因為看我的文章而錯過站。呵呵。
一個好用直觀的 數據庫操作ORM
GoConvey 是個相當不錯的 Go 測試工具,支持 go test。可直接在終端窗口和瀏覽器上使用。
Melody 是一個 Go 語言的微型 WebSocket 框架
Java在package import后似乎使用起來更Easy,使用包內的類和方法時,前面無需再附著Package name,即Date d,而不是java.util.Date d。而Go在導入”time”后,引用包中方法時依然要附著著包名,比如time.Now()。但實質上兩種語言在import package的機制上是有很大不同的。
說實話,Golang對一個新人真的挺不友善的,因為一上手要了解的概念。你看人家Java,上來一個項目mvn install一下就完事了,干凈利落。但是Golang就麻煩了,你得先了解什么是GOPATH。我當年剛接觸Golang真正開始做項目的時候,只知道按要求配置環境變量,對GOPATH真正理解可能都是好幾個月以后的事情了。說白了,還是因為懶。真正做項目的人,有多少有耐心砍柴磨刀,出現一個東西就研究半天啊,我們只是想要Copy-Paste而已。
Echo是Go語言生態里的一個Web應用框架,這個框架提供了非常非常簡單的方式來開發高性能的Web應用。其實在寫Echo之前,還想說一說Go語言里一個非常有意思的東西,叫Reflect(反射)的特性,這個特性在動態語言中非常有用,可以類比Objective-C中提供的runtime機制,用來動態的執行Method或者設置屬性,而且reflect的使用非常的簡單。
在本周召開的 GopherCon 2017 上,Google Go的技術負責人Russ Cox做了關于Go的未來的主旨演講,請社區就該語言的下一個主要版本應該包含哪些內容提出建議。
?在 3,595 名被調查者中,89% 稱他們在工作中或工作之外用 Go 編程;63% 稱他們的工作是 Web 開發,但只有 9% 的人只從事 Web 開發,一半以上被調查者的工作涉及三個以上領域;63% 的人用 Go 開發命令行程序,60% 寫 API 或 RPC 服務,52% 寫 Web 服務;
Go 學習筆記