首页 > 其他 > 详细

go模块strconv、rand

时间:2021-04-08 01:10:37      阅读:23      评论:0      收藏:0      [点我收藏+]

strconv模块

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)

math/rand模块

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

go 语言睡眠排序

// 
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
}

 

go模块strconv、rand

原文:https://www.cnblogs.com/liqiangwei/p/14630078.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!