会员
周边
捐助
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
陈天刚
没有困难,创造困难也要上
博客园
首页
新随笔
管理
1
2
3
4
5
···
13
下一页
2023年10月31日
awk使用正则表达式匹配后进行大小写转换
摘要: vim a.awk BEGIN { while (( getline line < "./1.txt") > 0) { gsub(/INSERT INTO ".*" \(.*\) VALUES/,tolower(line), line); print line; } } 执行awk -f a.awk
阅读全文
posted @ 2023-10-31 18:33 陈天刚
阅读(56)
评论(0)
推荐(0)
编辑
2019年1月16日
Docker多主机互联
摘要: 在公司使用docker多主机互联时碰到了各种坑。搞清楚后才发现如此简单,以下是根据实际经验的总结. 版本信息 在主节点上 生成token 在其它节点添加到集群 在任意节点创建网络 此时,在其它节点执行 docker network ls, 可以看到该网络已同步到所有节点,不同节点的主机指定该网络创建
阅读全文
posted @ 2019-01-16 10:44 陈天刚
阅读(736)
评论(2)
推荐(0)
编辑
2018年12月20日
数据结构
摘要: 数据结构可视化 https://www.cs.usfca.edu/~galles/visualization/Algorithms.html golang生成数据结构库 一个可以就将数据库生成图片的库 https://github.com/Arafatk/dataviz 标准数据结构库 https:
阅读全文
posted @ 2018-12-20 09:30 陈天刚
阅读(218)
评论(0)
推荐(0)
编辑
2018年11月2日
golang反射
摘要: 要点 1.变量 2.反射 3.结构体反射 4.反射总结以及应用场景 一、变量介绍 1.变量的内在机制 A、类型信息,这部分是元信息,是预定义好的 B、值类型,这部分是程序运行过程中,动态改变的 二、反射介绍 1.反射与空接口 A、空接口可以存储任何类型的变量 B、那么给你一个空接口,怎么知道里面存储
阅读全文
posted @ 2018-11-02 16:18 陈天刚
阅读(580)
评论(0)
推荐(0)
编辑
2018年10月26日
waitGroup的使用
摘要: ```go package main import ( "fmt" "sync" "time" ) func main() { var wg sync.WaitGroup //一个没有缓冲区的chan ch := make(chan string) wg.Add(3) go sendData(ch,
阅读全文
posted @ 2018-10-26 17:05 陈天刚
阅读(1007)
评论(0)
推荐(0)
编辑
2018年10月25日
golang中的mutex锁
摘要: mutex锁中一种互斥锁,如果有多个goroutine需要对同一变量进行修改则需要对该变量施加mutex锁以实现安全读写。
阅读全文
posted @ 2018-10-25 18:16 陈天刚
阅读(287)
评论(0)
推荐(0)
编辑
goroutine和channel
摘要: 近期在学习golang的goroutine和channel时候有一些疑惑: 1. 带缓冲的channel和不带缓冲的channel有什么区别? 2. goroutine和主进程的有哪些影响和关系? 3. 多个goroutine的执行顺序是怎么样的? 通过下面的代码我们可以得到答案 第一个例子 1.
阅读全文
posted @ 2018-10-25 15:08 陈天刚
阅读(314)
评论(0)
推荐(0)
编辑
如何优雅的关闭Golang Channel?
摘要: Channel关闭原则 不要在消费端关闭channel,不要在有多个并行的生产者时对channel执行关闭操作。 也就是说应该只在[唯一的或者最后唯一剩下]的生产者协程中关闭channel,来通知消费者已经没有值可以继续读了。只要坚持这个原则,就可以确保向一个已经关闭的channel发送数据的情况不
阅读全文
posted @ 2018-10-25 10:56 陈天刚
阅读(3857)
评论(0)
推荐(0)
编辑
2018年10月24日
使用context关闭协程以及协程中的协程
摘要: ```go package main import ( "sync" "context" "fmt" "time" ) var wg sync.WaitGroup func worker2(ctx context.Context) { LOOP: for { fmt.Printf("worker2\
阅读全文
posted @ 2018-10-24 11:24 陈天刚
阅读(711)
评论(0)
推荐(0)
编辑
2018年10月17日
golang对不同系统的编译
摘要: Golang 支持在一个平台下生成另一个平台可执行程序的交叉编译功能。 Mac下编译 Linux下编译 Windows下编译
阅读全文
posted @ 2018-10-17 11:54 陈天刚
阅读(1328)
评论(0)
推荐(0)
编辑
1
2
3
4
5
···
13
下一页