書的資料:
An Introduction to Programming in Go.
Copyright © 2012 by Caleb Doxsey
ISBN: 978-1478355823
以及網站:「An Introduction to Programming in Go」。有平裝實體書版本,也有電子 Kindle 版,網站上有 PDF 可以下載,或是直接 HTML 觀看。我是看完 HTML 版後買了一本 Kindle 版來翻...
這是一本講程式語言 Go 的入門書。看完後,我覺得這不是寫給第一次接觸程式語言而需要自己學習的人。這本書的編排,以及 Go 程式語言的特性,是寫給想要用 C++ 解決 C 問題卻弄的滿頭包的人另外一個方案。語言的特性很明顯可以感覺到 Go 想要找出更自然 (以及「優雅」) 的方式解決問題。
第三章講資料型態提到內建了 uint8
、uint16
、uint32
、uint64
、int8
、int16
、int32
以及 int64
,以及 byte == uint8
、rune == int32
。以前需要透過 autotools 的類的程式處理,現在是程式語言直接定義好。
然後支援 float32
與 float64
,以及 complex64
及 complex128
直接避免 sqrt(-1)
的問題!內建 boolean (true
與 false
),把以前的壞習慣 (直接拿數字型態判斷) 處理掉...
第六章講內建 Arrays、Slices、Maps,這時候就可以發現 fmt.Println
可以直接輸出 (以前 C 就沒辦法用 printf
大絕直接對 array 輸出!) !然後很嚴格的不讓你在整數與小數之間亂轉...
而內建 Maps 這件事情超重要,已經是現在程式語言的基本資料型態 XD
第七章描述 Functions,把以前只能傳單變數的問題解決,並且介紹 Closure,然後介紹 Defer!是 Defer 啊!(該死的 fd leak...)
第十章 Concurrency 把以前用 POSIX threading library 的痛給解掉,多個 thread 要怎麼有效的互相傳資料一直都是痛 (超痛),引入 channel 的觀念內建進 Go...
很推薦購買的一本書,天瓏如果有進的話應該會再去拿一本實體...