输入输出
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 结束了某一次循环,下次继续