go相關函式的用法
輸入輸出
fmt.Scanln(&x,&y) 讀取鍵盤的輸入,輸入時空格分隔兩個x y引數,通過操作地址,賦值給x和y 阻塞式
fmt.Scanf("%d,%f",&x,&y) 讀取鍵盤的輸入,輸入時逗號分隔x y兩個引數,通過操作地址,賦值給x和y 阻塞式
fmt.Println(“請輸入一個字串:”)
reader := bufio.NewReader(os.Stdin)
s1,_ := reader.ReadString(’\n’)
fmt.Println(“讀到的資料:”, s1)
時間戳
time.Now()//獲取時間函式物件
timeStamp1 := t1.Unix() //秒
timeStamp2 := t1.UnixNano()//納秒
隨機數
//獲取隨機數,預設源,隨機數永遠一樣
num1 := rand.Int()
num := rand.Intn(10) //獲取[0,9]裡面的一個隨機數,每次重新整理永遠一樣,因為預設源一樣
設定隨機數種子數
rand.Seed(time.Now().UnixNano())
fmt.Println(rand.Intn(62) + 15) //[15,76]獲取15到76的隨機數,因為設定了種子數為時間戳,現在每次重新整理都不一樣
算數運算
math.Pow()獲取數值的立方和
math.Sqrt(float64(9)) 結果為3 獲取一個數的平方根為目標數,獲取該數
陣列函式
fmt.Println(“陣列長度:”, len(arr1))
fmt.Println(“陣列容量:”, cap(arr1))
切片函式
make([]int,3,8)
第一個引數型別:slice map chan
第二個引數:長度len(實際儲存元素的數量)
第三個引數:容量cap(最多可以儲存元素的數量)
append() 追加基本型別資料 append(s4,3,4,5,6,7,8) //追加切片 s4 = append(s4,s3...) copy(),可以實現切片的深拷貝 copy(s2, s3) //將s3切片中的元素拷貝到s2切片 copy(s3,s2)//將s2中的元素拷貝到s3 copy(s3[1:],s2[2:])//指定切片元素拷貝到指定位置 sort.Ints(),對切片進行排序
map函式
//刪除資料(根據map的key刪除資料)
delete(map1, 3)
//長度
fmt.Println(len(map1))
關鍵字
switch中使用
1. break 強制結束case語句,從而結束switch分之
2. fallthrough 穿透執行,後面緊鄰的case無需匹配,直接執行
for迴圈中的
1. break 強制結束當前迴圈
2. continue 結束了某一次迴圈,下次繼續