讀書筆記之《Go程式設計語言》---第一章 入門
阿新 • • 發佈:2019-01-04
Hello World
知識點:
- Go程式碼使用包來組織,包類似於其他語言中的庫和模組
- 每一個原始檔的開始都是用package宣告,指明這個檔案屬於哪個包
- 你必須精確地匯入需要的包,在缺失匯入或存在不需要的包時,編譯會失敗
- Go不需要再語句或聲明後面使用分號結尾,跟在特定符號後面的換行符被轉換為分號,“{”必須和關鍵字func在同一行,x+y這個表示式中,換行符可以出現在+的後面,但是不能出現在+的前面
- 使用gofmt工具可以將程式碼以標準格式重寫
- 執行go可執行檔案 go run helloworld.go
- 構建go可執行檔案 go build helloworld.go
命令列引數
知識點:
- os包提供一些函式和變數,以與平臺無關的方式和作業系統打交道,命令列引數以os包中Args名字的變數提供訪問,在os包外面使用os.Args
- go中,所有的索引使用半開區間,及包含第一個索引,不包含最後一個索引
- 註釋以//開頭
- 變數可以在宣告的時候初始化,如果沒有明確地初始化,它將隱式地初始化為這個型別的空值
- +操作符對字串的值進行追加,+=是賦值操作,:=用於短變數宣告
- i++是語句不是表示式,所以 j = i++不合法,且僅支援字尾,所以–i不合法
- go不允許存在無用臨時變數
- 空識別符號“ _ ”(下劃線),可以用在任何語法需要變數,但程式邏輯不需要的地方
四種變數宣告方式:
for迴圈語句:
if語句:
bufio包
知識點:
- 掃描器Scanner,可以讀取輸入,以行或單詞斷開
- 新建一個bufio.Scanner型別的input變數: input := bufio.NewScanner(os.Stdin)
- 每一次呼叫input.Scan()讀取下一行,並將結尾換行符去掉
- fmt.Printf從一個表示式列表生成格式化輸出,Printf函式有超過10的轉義字元
- map是一個使用make建立的資料結構的引用,當一個map傳遞給一函式式,函式接受到的是引用的副本。
- const宣告,用來給常量命名。
- 控制流if,for,switch
- type宣告,給已有型別命名
- go提供指標,使用&操作符獲取一個變數的地址,使用*操作符獲取指標引用的變數的值
- 方法和介面:關聯了命名型別的函式稱為方法,介面可以用相同的方式處理不同具體型別的抽象型別
- 註釋: 單行註釋//,多行知識/*…*/