Golang 學習之比筆記

2021-09-30 17:05:24 字數 1622 閱讀 5426

1.go func() 有go 主協程併發關係

2.(「小分隊」+strconv.itoa(i)) 小分隊1 小分隊2 小分隊3

3.time.sleep(time.second) 延時一秒鐘

4.import 關鍵字,引用其他包

import(

「fmt」

「os」

)5.主協程不能死

6.fmt.println(「可用的cpu核數為」,runtime.numcpu())

7.函式是指一段在一起的、可以做某一件事兒的程式

8.main(中文:主函式)

程式的每個功能的實現是由函式來進行的,也就是說,函式就是一塊塊磚。程式是乙個房子。你的磚碼好了,程式就可以執行了 。

另一種,從另乙個層面上說:

程式的入口是乙個main()的函式,就像門一樣,你進去後你們有各種各樣的函式,他們就像乙個工廠裡面的工人一樣,你進去乙個東西,不同函式實現不同操作,然後送出來你想要的結果,最後函式就執行完了,你也得到了你要的東西。

這個工廠就在於你要安排哪些工人進去做這些事情了。

func 函式名(引數列表) (返回值列表)

return 語句也可以用來結束 for 死迴圈,或者結束乙個go協程(goroutine)

10.位元組 計算機中儲存資料的單元,乙個8位的 二進位制數,是乙個很具體的 儲存空間

11.乙個位元組有8個位,每個位有2種狀態 1和0

12.資料型別 .引用型別:slice,map,channel

英文佔乙個位元組,標點佔乙個位元組,乙個漢字佔兩個位元組

13.變數命名原則

go語言變數名由字母、數字、下劃線組成,其中首個字母不能為數字。

14.如果上面的**段沒有初始化值,那麼變數就會被初始化為對應型別的零值。

var a int

15.直接初始化

這種方法定義和初始化變數,既不需要var關鍵字,也不需要指定型別,快捷又方便,實際的**中建議用這種方式。

a := 3

以上**段定義了乙個變數a,並把它初始化為3。

17.go語言中陣列的長度固定,無法擴容。

18.在宣告var arr1 [5]int中每個元素是乙個整形值,當宣告陣列時所有的元素都會被自動初始化為預設值 0。

19.len(arr)-1則表示最後乙個元素的下標。

str := 「laoyu」

21.獲取字串長度可以用內建的函式len。

22.strconv 包提供了基本資料型別和字串之間的轉換。

23.因為go 語言中的字串是不可變的,也就是說 str[index] 這樣的表示式是不可以被放在等號左側的。如果嘗試執行 str[i] = 'd』會得到錯誤:cannot assign to str[i]。

因此必須先將字串轉換成位元組陣列,然後再通過修改陣列中的元素值來達到修改字串的目的,最後將位元組陣列轉換回字串格式。

24.定義語法

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

語法如下:

func 函式名(引數列表) (返回值列表)

c := make(chan bool) //建立乙個無緩衝的bool型channel

c x =

x, ok =

26.爬蟲

Golang學習筆記

如果乙個method的receiver是 t,你可以在乙個t型別的例項變數v上面呼叫這個method,而不需要 v去呼叫這個method 即不需要 v method 如果乙個method的receiver是t,你可以在乙個 t型別的變數p上呼叫這個method,而不需要 p去呼叫這個method。i...

golang學習筆記

與c語法不同之處 1.引數列表中各個引數型別相同時可以只寫出最後乙個,如 add x,y int int 2.型別在引數名 變數 函式 後面 3.函式的左大括號要跟函式名同一行,否則編譯不過 4.函式定義要先寫關鍵字func在函式開頭 函式外的每個語句都要以func var等等關鍵字開頭 5.在包或...

Golang學習筆記

package main import fmt func main break default func inte ce select case defer gomap struct chan else goto package switch const fallthrough ifrange ty...