go 語言被譽為這個世代的C語言,其精神也繼承了c語言的優點,少即多,沒有太多花俏的特性,所用到的關鍵字只有二十五個,跟c語言31個、c++89個比較,顯得相當精簡。並行機制也使得go語言,編寫多線程及網路編程都相當容易!
go語言主要為系統及網路編程而設計, 一些設計要求較為嚴格。導入的模組及聲明的變數,未使用無法通過編譯,go精簡的特性,也導致少了一些新穎好用的特性,如函數式語言的列表推導。
>>> [ x for x in range(20) if x % 2]
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
基本語法
go保留了c語言風格,為讓早已熟悉c style的人,減少學習成本,因此語言跟c很相像
package main
import (
"fmt"
)
func main() {
fmt.Println("Hello World!")
}
函數聲明關鍵字func 跟c 一樣需有main()函數做為程式進入點。
main() 表示程式一被執行時,就會被執行的位置
採用了大括號{} 做為程式縮排判定
正確
func main() {
fmt.Println("Hello World!")
}
錯誤
func main()
{
fmt.Println("Hello World!")
}
golang 編譯時會統一格式輸出
編輯器存檔時,也會調用golang的format,做語法編排修正
因此在golang上難以看到五花八門的寫法