《Go語言程式設計》學習筆記

2021-09-14 00:04:22 字數 1290 閱讀 2764

1.變數:

var v1 int

var v2 string

var v3 [10]int // 陣列

var v4 int // 陣列切片

var v5 struct

var v6 *int // 指標

var v7 map[string]int // map,key為string型別,value為int型別

var v8 func(a int) int

v3 := 10 (冒號和等號的組合:=),用於明確表達同時進行變數宣告和初始化的工作。

2.3型別

基礎型別:

 布林型別:bool。

 整型:int8、byte、int16、int、uint、uintptr等。

 浮點型別:float32、float64。

 複數型別:complex64、complex128。

 字串:string。

 字元型別:rune。

 錯誤型別:error。

復合型別:

 指標(pointer)

 陣列(array)

 切片(slice)

 字典(map)

 通道(chan)

 結構體(struct)

 介面(inte***ce)

5函式:

2.5.1函式定義:在go語言中,函式的基本組成為:關鍵字func、函式名、引數列表、返回值、函式體和返回語句。

func add(a, b int)(ret int, err error)

2.5.2函式呼叫:

規則:小寫字母開頭的函式只在本包內可見,大寫字母開頭的函式才

能被其他包使用。

這個規則也適用於型別和變數的可見性。

import 「mymath」// 假設add被放在乙個叫mymath的包中

c := mymath.add(1, 2)

2.5.3不定引數

2.5.4多返回值

func (file *file) read(b byte) (n int, err error)

在讀檔案的時候不想關心read()函式返回的錯誤碼,則:

n, _ := f.read(buf)

2.5.5匿名函式和閉包

匿名函式:指不需要定義函式名的一種函式實現方式,可以直接賦值給乙個變數或者直接執行,匿名函式是乙個閉包;

f := func(x, y int) int

func(ch chan int) (reply_chan) // 花括號後直接跟引數列表表示函式呼叫

《go語言程式設計》學習筆記三

在go語言中,流程控制主要分為 選擇 迴圈 跳轉。選擇 就是由不同的條件進行不同的操作 迴圈 就是重複的執行 跳 根據條件回到某個操作 在go語言中的流程控制語句有 條件語句,對應的關鍵字為if else和else if 選擇語句,對應的關鍵字為switch case和select 將在介紹chan...

Go語言學習筆記 網路程式設計

tcp 一種面向連線的,可靠的,基於位元組流的傳輸層通訊協議 udp 使用者資料協議,不需要建立連線進行資料傳送和接收,屬於不可靠的,沒有時序的通訊 go語言tcp服務端程式處理流程 監聽埠 接受客戶端請求,建立鏈結 建立goroutine處理鏈結 監聽埠 listen err net.listen...

go語言學習筆記22 Go語言併發程式設計

goroutine是go語言並行設計的核心,有人稱之為go程。goroutine說到底其實就是協程,它比執行緒更小,十幾個goroutine可能體現在底層就是五六個執行緒,go語言內部幫你實現了這些goroutine之間的記憶體共享。執行goroutine只需極少的棧記憶體 大概是4 5kb 當然會...