
Golang学习
文章平均质量分 57
wanghao3616
性格开朗,爱好广泛
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Golang 编译原理 计算器(通俗易懂)
本文不需要你掌握任何编译原理的知识。 只需要看懂简单的golang语言即可, 完整的代码示例在GIT, 代码是从writing an interpreter in go这本书抽取了简单的部分出来, 如果需要进一步了解,请详阅此书.听到编译原理,就觉得很高大上。记得上大学时,这门课要记忆一些BNF,LEX,AST,CFG这些有的没的。一个听不懂,二个没兴趣。随着使用了几门语言之后,也尝试用编译原理的基本知识写过一个sql转es的工具之后。发现其实了解一点点编译原理的知识,能够提高我们的生产效率,做出一些很转载 2020-07-14 14:37:26 · 1014 阅读 · 0 评论 -
golang内存逃逸
常见内存逃逸情况1、在方法内把局部变量指针返回,被外部引用,其生命周期大于栈,则溢出。2、发送指针或带有指针的值到channel,因为编译时候无法知道那个goroutine会在channel接受数据,编译器无法知道什么时候释放。3、在一个切片上存储指针或带指针的值。比如[]*string,导致切片内容逃逸,其引用值一直在堆上。4、因为切片的append导致超出容量,切片重新分配地址,切片背后的存储基于运行时的数据进行扩充,就会在堆上分配。5、在interface类型上调用方法,在Interfac原创 2020-07-11 14:32:00 · 379 阅读 · 0 评论 -
golang开发提升效率工具
1)sql2go用于将 sql 语句转换为 golang 的 struct. 使用 ddl 语句即可。例如对于创建表的语句: show create table xxx. 将输出的语句,直接粘贴进去就行。2)toml2go用于将编码后的 toml 文本转换问 golang 的 struct.3)curl2go用来将 curl 命令转化为具体的 golang 代码.4)json2go用于将 json 文本转换为 struct.源码:https://github.com/Yimismi原创 2020-07-08 16:15:56 · 512 阅读 · 0 评论 -
ubuntu配置golang环境
准备工作解决默认安装的时钟不同步问题apt使用阿里云软件源解决默认apt安装go版本过低的问题一、Ubuntu时钟不同步问题切换root用户su root打开时钟同步配置文件sudo vim /etc/systemd/timesyncd.conf修改同步地址NTP=0.cn.pool.ntp.org 1.cn.pool.ntp.org 2.cn.p...原创 2020-01-07 11:17:00 · 1009 阅读 · 0 评论 -
ubuntu环境使用supervisor部署Go应用
首先进行前期准备,安装supervisorsudo apt-get install supervisor安装后,通过Supervisor附送的贴心的小脚本生成默认的配置文件sudo echo_supervisord_conf > /etc/supervisord.conf然后打开配置文件确认下(/etc/supervisord/supervisord.conf),是...原创 2019-04-03 11:39:34 · 482 阅读 · 0 评论 -
使用ubuntu+jenkins+gitlab+supervisor部署Go应用
准备工作1、ubuntu安装go环境2、ubuntu安装supervisor进程管理工具3、安装jenkins4、在jenkins安装go plugin、gitlabplugin一、安装go运行环境参考:https://blog.youkuaiyun.com/wanghao3616/article/details/103869749注意:记住里go解压的路径和运行路径(即:GOROOT...原创 2019-05-21 19:42:23 · 685 阅读 · 0 评论