Golang基礎學習筆記01

2021-09-11 20:46:35 字數 2540 閱讀 6953

day01

一、基礎

1. //單行注釋

2. /*

多行注釋

3. 語句結尾沒有分號

4. 呼叫函式大部分需要匯入包

5. 左括號必須與函式名同行

6. 程式必須有乙個main包

7. go語言以包做為管理單位

8 每個檔案必須先宣告包

二、變數

9. 變數命名規範

1>字母、下劃線、數字組成

2>不能以數字開頭

3>不能為關鍵字

4>區分大小寫

10. 變數宣告了必須得使用

11. var 變數名 型別(var a int)

var a=10

12. 同一大括號裡宣告的變數名是唯一的

13. 可同時宣告多個變數var 變數名1,變數名2…… 型別

14. 自動推導型別(常用 *,也是一種宣告方式)

c := 30

fmt.printf("c type is %t\n") %t列印變數所屬型別

15. 多重賦值

a , b ,c := 10,20,30

變數值交換

a,b := 10,20

a,b = b,a

16. _匿名變數,丟棄資料不處理。

a, b := 10, 20

temp, _ := a, b

fmt.println(temp) 10

fmt.println(a) 10

fmt.println(b) 20

匿名變數配合函式返回值使用,才有優勢

func test(a ,b ,c int) else else if str == "hao"else{

fmt.println("都不等於")

39. 選擇結構(switch語句)

break:預設不寫

fallthrough與break一樣,但是不會跳出switch語句(而且後面無條件執行)

支援乙個初始化語句switch a:=10;a

num := 3

switch num{

case 1:

fmt.println("1")

case 2:

fmt.println("2")

case 3:

fmt.println("3")

default:

fmt.println("其他")

case後可以跟 多個

num := 3

switch num{

case 1,2,3:

fmt.println("1")

case 4:

fmt.println("2")

case 5,6:

fmt.println("3")

default:

fmt.println("其他")

可以加條件

num := 3

switch {

case num >1:

fmt.println("1")

case num >2:

fmt.println("2")

case num >3:

fmt.println("3")

default:

fmt.println("其他")

40. 迴圈結構(for語句)

sum := 0

for i := 0; i<=100: i++{

sum+=i

fmt.println(sum)

41. 迴圈結構(range語句)

迭代語句配合陣列和切分使用

str := "abcd"

for i := 0; i < len(str); i++ {

fmt.printf("%c\n", str[i])

//迭代返回兩個值,乙個是元素位置(i),乙個是元素本身(data)

for i, data := range str {

fmt.printf("%d,%c\n", i, data)

//只返回元素位置,元素本身預設丟棄

for i := range str {

fmt.printf("%c\n", str[i])

for i, _ := range str {

fmt.printf("%c\n", str[i])

42. 跳轉語句(break和continue和goto)

break可用於for、switch、select

continue只能用於for迴圈

goto能用玩任何地方,但是不能跨函式(使用注意可能會造成死迴圈)

i :=0

for{ //for後面不寫條件,就是迴圈

i++if i==5{

break; //跳出最近的內迴圈

continue: //跳過本次迴圈

fmt.println(i)

fmt.println("begin")

goto end

fmt.println("end")

end:

fmt.println("goto end")

GoLang學習基礎筆記

1 make 分配 內部函式 make t,args 的服務目的和 new t 不同,只生成切片,對映和程道,並返回乙個初始化的 不是零 的,type t的,不是 t 的值。這種區分的原因是,這三種型別的資料結構必須在使用前初始化.比如切片是乙個三項的描述符,包含資料指標 陣列內 長度,和容量 在這...

Golang基礎學習筆記03

day03 一 復合型別 指標 1.指標的基本操作 var a int 10 fmt.printf d n a 變數的記憶體 fmt.printf v n a 變數的位址 fmt.printf p n a 變數的位址 fmt.println a 變數的位址 儲存某個變數的位址,需要指標。int 儲存...

Golang學習之路 01

1 在go的結構體中,如果成員屬性小寫開頭代表這個成員是私有的,如果是大寫開頭代表是公開的。因此在定義一些json資料的結構體時,需要將成員屬性均改為大寫,否則無法解析 2 beego建立乙個純api專案,通過bee api 為專案名 建立以後我們需要進入專案目錄直接執行bee run gendoc...