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...