Go 變數 Go中文讀書筆記

2021-09-30 15:38:06 字數 1180 閱讀 9660

erlang 與 go在部分功能上相似。erlang和go主要的區別是erlang是執行在虛擬機器上的函式式語言,而go是命令式語言 erlang是執行在虛擬機器上,而go是編譯的。go用起來感覺更加接近unix

go語言如果希望將兩個或則更多的語句放在一行它們必須使用分號(;)分隔。

多個變數或者const 和 import 宣告可以使用括號

var (

x int 

b bool

)相同型別的多個變數同樣可以在一行內完成宣告 如var x,y int 讓x和y 都是int 型別的變數。同樣可以使用平行賦值:

a , b : =  20, 16

go 中乙個特殊的變數名就是 _  任何賦值給它都會被丟棄

在go語言中對於宣告沒有使用的變數會產編譯錯誤

布林值型別為 bool 值為 true 或則false

數字型別 沒有定義長度的int 和定義長度的是 int8、int16、int32、int64 和  byte 、uint8、uint16、uint32、uint64 其中 byte是uint8的別名。浮點型別的值有float32和float64 其中float即便是32位機子上也是64位

const x = 42 生成x找個常量或者可以使用 iota來生成列舉值

const (

a = iota

b = iota

)第乙個iota表示為0,因此a等於0,當iota再次在新的一行使用時。它的值增加了1,因此b的值是1

也可以省略go重複的= iota 

字串 string 在go中是utf-8使用雙引號包含。如果是單引號則表示乙個字元 在go中不是string型別

一旦給字元常量賦值,字串就不能修改了。因此在go中字串是不可變的。

var s string = "hello"

s[0] = 'c'   這種是錯誤的

在go中要實現需要以下方法

s := "hellow"

c := byte(s)

c[0] = 'c'

s2 =: string(c)

轉為s為乙個位元組陣列,修改第乙個元素。建立陣列的第乙個字串儲存修改

在go中輸入多行字串必須將+號寫在上一行,不然會被轉換成兩個字串。或者採用反引號(`)作為原始字串符

s := ` starting part

ending part`

《Go語言程式設計》讀書筆記

go語言榮譽 執行時,沒有任何外部依賴 執行速度快,很適合開發共享軟體。加上,我之前一直用c 語言開發,go有更好的 c語言美稱。自動垃圾 原生併發程式設計 速度媲美c 程式。基於channel goroutine,適應多核系統開發 函式多重返回值 簡化錯誤處理 c語言風格。比如語言緊湊 格式化要求...

《go程式語言》讀書筆記

短變數宣告 是用來宣告和初始化區域性變數的 短變數宣告最少宣告乙個新變數,否則,無法通過編譯 指標別名允許我們不用變數的名字來方文變數 不僅僅指標產生別名,當複製其他引用型別 像slice,map,channel,甚至包括這裡引用型別的結構體 陣列和介面 的值的時候,也會產生別名 new函式是乙個內...

Go語言聖經(中文版)讀書筆記 二

命名 宣告 變數 賦值 型別 包和檔案 作用域 break default func inte ce select case defer gomap struct chan else goto package switch const fallthrough ifrange type continu...