随笔分类 -  Go

摘要:软件下载 https://golang.google.cn/https://dl.google.com/go/go1.19.3.linux-amd64.tar.gz 环境变量设置 export GOWKS=/data/wks/tpf export GOROOT=$GOWKS/app/go expor 阅读全文
posted @ 2022-11-17 11:36 方诚 阅读(3656) 评论(0) 推荐(1)
摘要:var wg2 sync.WaitGroup wg2.Add(nums) xc :=0 parallelNum := plt.MaxParallel var waitCount int32 = 0 for i:=0;i<nums*lll;i=i+lll { begin: if i % 30 == 1 阅读全文
posted @ 2021-01-19 10:35 方诚 阅读(312) 评论(0) 推荐(0)
摘要:锁的使用 注意要成对,重点是代码中有分支或者异常返回的情况,这种情况要在异常返回前先释放锁 mysqlInstanceLock.Lock() slaveHostSql := "show slave hosts" ss1 := dc.SqlRes(DcServer, ip, port, msdb.Db 阅读全文
posted @ 2021-01-18 11:32 方诚 阅读(74) 评论(0) 推荐(0)
摘要:GO 学习资源 go 代理 GO 语言结构 GO 数字运算 GO 时间处理 GO 定时器 GO 异常处理 go recover让崩溃的程序继续执行 GO Exit Fatal panic GO 通过进程号输出运行运行信息 Channel go channel 概述 - 管道 版本控制 Go中包版本号 阅读全文
posted @ 2020-12-09 09:25 方诚 阅读(84) 评论(0) 推荐(0)
摘要:Exit() 应用程序(不只是函数)退出执行 defer 不会被执行(因为程序都退出了) log.Fatal() 输出打印内容 应用程序退出 defer 不会被执行 panic() 函数停止执行(不是应用程序) defer 被执行 逐层返回panic异常给它的调用者,若无处理,会一直到main函数, 阅读全文
posted @ 2020-11-12 11:24 方诚 阅读(205) 评论(0) 推荐(0)
摘要:package main import ( "fmt" "sync" "time" ) /** *ticker只要定义完成,从此刻开始计时,不需要任何其他的操作,每隔固定时间都会触发。 *timer定时器,是到固定时间后会执行一次 *如果timer定时器要每隔间隔的时间执行,实现ticker的效果, 阅读全文
posted @ 2020-11-12 10:50 方诚 阅读(1495) 评论(0) 推荐(0)
摘要:比较大小 比较大小 先把当前时间格式化成相同格式的字符串,然后使用time的Before, After, Equal 方法即可. time1 := "2015-03-20 08:50:29" time2 := "2015-03-21 09:04:25" //先把时间字符串格式化成相同的时间类型 t1 阅读全文
posted @ 2020-11-12 10:45 方诚 阅读(146) 评论(0) 推荐(0)
摘要:大整数运算 // bigint project main.go package main import ( "fmt" "math" "math/big" ) func main() { // Here are some calculations with bigInts: im := big.Ne 阅读全文
posted @ 2020-11-12 10:42 方诚 阅读(472) 评论(0) 推荐(0)
摘要:GO 学习资源 go 代理 GO 语言结构 GO 数字运算 GO 时间处理 GO 定时器 GO 异常处理 go recover让崩溃的程序继续执行 GO Exit Fatal panic GO 通过进程号输出运行运行信息 Channel go channel 概述 - 管道 阅读全文
posted @ 2020-11-12 10:19 方诚 阅读(96) 评论(0) 推荐(0)
摘要:概述 unix/linux OS 的一个进程的输出可以是另一个进程的输入,这些进程使用stdin与stdout设备作为通道,在进程之间传递数据。 同样的,GO中有io.Reader与io.Writer两个接口,如果要对一个设备进行读/写,调用实现了这两个接口的方法即可。 GO对管道的支持 func 阅读全文
posted @ 2020-09-22 09:43 方诚 阅读(449) 评论(0) 推荐(0)
摘要:package main import ( "fmt" "log" ) func de() { //recover() //可以打印panic的错误信息 //fmt.Println(recover()) if err := recover(); err != nil { //产生了panic异常 f 阅读全文
posted @ 2020-08-10 11:16 方诚 阅读(785) 评论(0) 推荐(0)
摘要:安装参考 https://blog.csdn.net/huwh_/article/details/77169858 Go 1.5引入了vendor文件夹,其对语言使用,go命令没有任何影响。若某个路径下边包含vendor文件夹,则在某处引用包时,会优先搜索vendor文件夹下的包。 在Go 1.5开 阅读全文
posted @ 2020-06-24 18:33 方诚 阅读(1451) 评论(0) 推荐(0)
摘要:go +方法 就实现了一个并发,但由于环境不同,需要对并发的个数进行限制,限制同一时刻并发的个数,后面称此为“并发限流”。 为什么要并发限流? 虽然GO M+P+G的方式号称可以轻松支持上万的并发,但并不代表你的环境就可以这么任性的不限制并发。 因为每个并发中都会消耗一定的资源,GO支持的起,系统环 阅读全文
posted @ 2020-04-24 11:46 方诚 阅读(403) 评论(0) 推荐(0)
摘要:精髓 将资源读进内存-->共享内存,一个个进程/线程进行处理,这是常见模式。go channel 是一种直接在进程/线程之间传递资源的方式,即以通信来共享内存。这便是go的精髓。 扩展-一些名词了解 Linux、IPC(进程间通信)、进程(六个状态)、线程、同步、异步、信号、管道、socket、消息 阅读全文
posted @ 2020-03-29 17:27 方诚 阅读(1158) 评论(0) 推荐(0)
摘要:golang []byte转string golang中,字符切片[]byte转换成string最简单的方式是 package main import ( "fmt" _ "unsafe" ) func main() { bytes := []byte("I am byte array !") st 阅读全文
posted @ 2020-02-07 09:58 方诚 阅读(405) 评论(0) 推荐(0)
摘要:strings方法 index 判断子字符串或字符在父字符串中出现的位置(索引)Index 返回字符串 str 在字符串 s 中的索引( str 的第一个字符的索引),-1 表示字符串 s 不包含字符串 str :strings.Index(s, str string) int LastIndex 阅读全文
posted @ 2020-02-05 10:52 方诚 阅读(201) 评论(0) 推荐(0)
摘要:sync.WaitGroup提供了一种安全的多协程处理方法,内部使用race、atomic来处理,避免了资源竞争及锁的产生。 主要的方法有Add、Done、Wait,可以等待一组协程全部执行完毕后,主程序才继续往下执行。 代码示例: 输出结果 阅读全文
posted @ 2019-10-08 11:50 方诚 阅读(161) 评论(0) 推荐(0)
摘要:context.WithCancel返回两个有关联的对象,ctx与cancel,调用cancel发送一个空struct给ctx,ctx一旦接收到该对象后,就终止goroutine的执行;ctx是线程安全的,可以同时传递给多个goroutine,触发cancel时,取消所有goroutine的执行 p 阅读全文
posted @ 2019-09-16 19:16 方诚 阅读(454) 评论(0) 推荐(0)
摘要:注意事项 所谓的远程仓库指的是github,个人首次使用go mod在其他云仓库上尝试,并未成功,这浪费了我近2小时的时间; 如果你是初次尝试,那么除了github的地址换一下之外,其他的都按照示例操作,比如目录的创建,这也是我把我的操作步骤一个不拉地贴出来的原因,你只须按着做,必定成功; 如果你没 阅读全文
posted @ 2019-09-12 18:17 方诚 阅读(854) 评论(0) 推荐(0)
摘要:wikihttps://github.com/golang/go/wiki/Modules#how-to-prepare-for-a-release参考https://blog.csdn.net/benben_2015/article/details/82227338 go mod 之本地仓库搭建 阅读全文
posted @ 2019-08-23 09:28 方诚 阅读(2387) 评论(0) 推荐(0)