1. 程式人生 > 其它 >go相關函式的用法

go相關函式的用法

技術標籤:go函式golang

輸入輸出
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()//獲取時間函式物件

//時間錯:指定時間,距離1970-1-1 0:0:0,之間的時間差值 秒,納秒
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 結束了某一次迴圈,下次繼續