這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。原文在此。————翻譯分隔線————編譯器(10)-編譯到 C第一部分:介紹第二部分:編譯、轉譯和解釋第三部分:編譯器設計概覽第四部分:語言設計概述第五部分:Calc 1 語言規格說明書第六部分:標識符第七部分:掃描第八部分:抽象文法樹第九部分:解析終於到最後一個步驟了!我們的語言規格說明書如此簡單,其實可以跳過 C 直接輸出彙編。我有兩個不這麼做的原因。首先,移植性。在這個指引中,我無須編寫任何特定架構的 C 代碼。C
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Dave 總是會給我們帶來這種很淺顯有趣,又意義深刻的文章。原文在此:Ice cream makers and data races。————翻譯分隔線————冰激淋製造商和資料競態Dave Cheney這是一篇關於資料競態的文章。本文的相關代碼在 Github 上:github.com/davecheney/benandjerry。這個例子類比了兩個冰激淋製造商 Ben 和 Jerry 隨機接待他們的客戶。package
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。原文在此,實用總結。————翻譯分隔線————十條有用的 Go 技術這裡是我過去幾年中編寫的大量 Go 代碼的經驗總結而來的自己的最佳實務。我相信它們具有彈性的。這裡的彈性是指:某個應用需要適配一個靈活的環境。你不希望每過 3 到 4 個月就不得不將它們全部重構一遍。添加新的特性應當很容易。許多人蔘與開發該應用,它應當可以被理解,且維護簡單。許多人使用該應用,bug
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。原文在此《How Go uses Go to build itself》,作者為 Dave Cheney。————翻譯分隔線————Go 是如何用 go 編譯自己的這篇文章基於 2013 年四月中旬我為雪梨 Go 使用者組做的一次關於 Go 構建過程的演講而成。在郵件清單或 IRC 的頻道裡經常有人尋求關於 Go 編譯器、運行時和內部原理的細節文檔。當前,關於 Go
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。理解競態對於並發編程來說很重要,如果能通過某種手段來瞭解程式中存在的競態,以便進一步的調整避免競態,也是非常有效最佳化手段。Go 1.1 的工具鏈引入了競態檢測器可以檢測並展示程式中存在的競態情況。Go 團隊撰寫了博文詳細介紹了這一工具的原理和使用。原文在此《Introducing the Go Race Detector》。————翻譯分隔線————Go 的競態檢測器Dmitry Vyukov 和 Andrew
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Dominik Honnef(之前搞錯成 Russ Cox 了)在 What’s happening in Go tip (2013-08-23) 中介紹了一些關於 Go 語言的一些變化。這些變化包含了文法、效能、潛在風險和工具鏈。並且,這些新的東西可能會隨著 Go 1.2 版本一同發布。為了方便中文讀者,翻譯在此。————翻譯分隔線————Go tip(2013-08-23)帶來的變化上周我發布了關於 Go tip
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。之前 Dave Cheney 已經為我們講解過了 Go 是如何用 go 編譯自己的。這裡,他繼續給大家講解一下 go build 命令是如何工作的(原文)。————翻譯分隔線————go build 命令是如何工作的?本文以 Go 的標準庫為例,介紹了 Go 編譯過程的工作原理。gc 工具鏈本文將關注 gc 工具鏈。gc 工具鏈的名字來自 Go 的前端編譯器 cmd/gc,這主要是為了與 gccgo 工具鏈進行區分。當人們討論
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。關於 Go 的記憶體結構在 Go 記憶體模型 中已經有介紹,但是內容相對簡單,許多細節也一帶而過。Ross Cox 的這篇文章 Go Data Structure 講解得比較系統也很全面的一篇。翻譯至此,希望能對大家有協助。2009 年的舊文,發現自己當時沒有翻譯完。所以再次做了增補和修改。如果我沒記錯,應該已經有人在 OSC 上發表過同一篇文章的翻譯了。大家對照參考閱讀吧。————翻譯分隔線————Go 資料結構每當給新手介紹
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Go team 總是能帶來一些驚喜的,關於 Go 的連結器,看來在 1.3 版本中要大修了。————翻譯分隔線————Go 1.3 連結器大修Russ Cox2013 年 11 月摘要在構建和運行一個標準的 Go 程式時,連結器是最慢的一部分。為瞭解決這個問題,我們計劃將連結器拆分到兩部分。其中的一部分可能會用 Go 來編寫。背景連結器總是 Plan 9 工具鏈中最慢的部分之一,而現在它是 Go 工具鏈中最慢的部分了。Ken
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。大家好,這幾天搗鼓了下 golang 的環境,今天跟大家分享下心得。Go is an open source programming environment that makes it easy to build simple, reliable, and efficient software. 摘自 golang.org 首頁的介紹。 Go是Google開發的一種編譯型,並髮型,並具有記憶體回收功能的程式設計語言。羅伯特·