01 2022 档案

go 协程之WaitGroup超时控制
摘要:package main import ( "fmt" "sync" "time" ) // 调用示例 func main() { var w = sync.WaitGroup{} var ch = make(chan bool) w.Add(2) go func() { time.Sleep(ti 阅读全文

posted @ 2022-01-21 15:25 running-fly 阅读(431) 评论(0) 推荐(0) 编辑

Go多协程并发环境下的错误处理
摘要:引言 在Go语言中,我们通常会用到panic和recover来抛出错误和捕获错误,这一对操作在单协程环境下我们正常用就好了,并不会踩到什么坑。但是在多协程并发环境下,我们常常会碰到以下两个问题。假设我们现在有2个协程,我们叫它们协程A和B好了: 如果协程A发生了panic,协程B是否会因为协程A的p 阅读全文

posted @ 2022-01-21 15:17 running-fly 阅读(490) 评论(0) 推荐(0) 编辑

go 协程控制之context.WithTimeout的使用
摘要:简言 1. context包的WithTimeout()函数接受一个 Context 和超时时间作为参数,返回其子Context和取消函数cancel 2. 新创建协程中传入子Context做参数,且需监控子Context的Done通道,若收到消息,则退出 3. 需要新协程结束时,在外面调用 can 阅读全文

posted @ 2022-01-21 10:21 running-fly 阅读(1296) 评论(0) 推荐(0) 编辑

go 协程控制之sync.Once{}
摘要:sync.Once.Do(f func())是一个挺有趣的东西,能保证once只执行一次,无论你是否更换once.Do(xx)这里的方法,这个sync.Once块只会执行一次。 package main import ( "fmt" "sync" "time" ) var once sync.Onc 阅读全文

posted @ 2022-01-20 19:24 running-fly 阅读(93) 评论(0) 推荐(0) 编辑

go 算法之冒泡算法
摘要:package main import "fmt" //冒泡排序 升序 //每轮都是相邻的两个元素两两比较,把最大的元素升到最后 func maopao(arr []int) []int { //列表长度 len := len(arr) //外层控制比较轮数 for i := 1; i < len; 阅读全文

posted @ 2022-01-19 23:29 running-fly 阅读(103) 评论(0) 推荐(0) 编辑

go 算法之选择排序算法
摘要:package main import ( "fmt" "strings" ) //字符串选择排序 //思路:每次选择一个相应的元素,然后将其放到指定的位置 //1. 假定最小的值得索引是i并赋值给min, //索引i对应的值和后面的索引对应的值依次比较, //如果索引i对应的值比后面索引对应的值大 阅读全文

posted @ 2022-01-19 23:00 running-fly 阅读(57) 评论(0) 推荐(0) 编辑

go 算法之插入排序算法
摘要:package main import "fmt" //把切片分成两部分,左边部分是排好序的,右边部分是未排序的 //假定第一个元素是已经排好的区域,然后从未排好序的区域里面最左边选一个和已排好序的区域的最后一个元素依次向前开始比较, //如果大于已排好序的最后一个元素就退出,否则就互换 func 阅读全文

posted @ 2022-01-19 22:42 running-fly 阅读(65) 评论(0) 推荐(0) 编辑

go 转义字符
摘要:package main import ( "fmt" ) func main() { fmt.Println("姓名\t年龄\t籍贯\t地址\njohn\t20\t河北\t北京") //\t 一个制表位,实现对齐的功能 fmt.Println("\\") fmt.Println("\"") fmt 阅读全文

posted @ 2022-01-19 12:41 running-fly 阅读(35) 评论(0) 推荐(0) 编辑

go 数据结构与算法之二分查找
摘要:package main import ( "fmt" ) //在有序的切片中查找指定的值。每次都需要从中间位置开始, //如果索引对应的值和目标值一致就返回,如果中间位置的值大于目标值那下次就需要从0~(索引-1)寻找 //如果中间位置的值小于目标值那下次就需要从(索引+1)~最后 寻找 //注意 阅读全文

posted @ 2022-01-19 11:34 running-fly 阅读(104) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示