1. 将123转成转成字符串的"123"
b:=strconv.Itoa(123)
res:=fmt.Sprintf("%d",123)
res:=strconv.FormatInt(68,10)
2. 将字符串的"123"转成123
a := "123"
res,e:=strconv.Atoi(a)
if e!=nil{
fmt.Println("出错了",e)
}
fmt.Println(res)
3.将字符"false"转成 bool的false
a:="false"
res,e:=strconv.ParseBool(a)
1.rand.Intn(5) // 随机生成[0,5)的整数
for i :=0;i<4;i++{
fmt.Println(rand.Intn(5))
} // 每次生成的都一样 加一个随机种子
rand.Seed(time.Now().UnixNano())
for i :=0;i<4;i++{
fmt.Println(rand.Intn(5))
} //加一个种子
2.
675243018718 res: 78
num: 8256996710297548238 res: 101
//
wg:=sync.WaitGroup{}
a:=[]int {1,2,5,3,4,2,7,8,15,15,15,16,16,17} //要排序的
res:=len(a) // 多长
wg.Add(res) // 等待多少个任务
c:= make(chan int ,res)
for _,val := range a {
go sleep(val,c,&wg) //
}
wg.Wait()
a1:=make([]int,0)
close(c) // 先关闭再取出来
for i:= range c{
a1=append(a1, i)
}
fmt.Println(a1)
// 睡眠i秒 放到chan中,这样睡的时间短的,先放进去,就有序了
func sleep(i int,c chan int,wg *sync.WaitGroup) {
defer wg.Done()
time.Sleep(time.Duration(i)*time.Second)
c<-i
}
原文:https://www.cnblogs.com/liqiangwei/p/14630078.html