网站首页 返回列表 “慢生活”不是懒惰,放慢速度不是拖延时间,而是让我们在生活中寻找到平衡。

疫情期间努力提升这技能以及项目重构心得
2020-04-10 20:34 admin golangkratospaladinwire

时间节点2020年1月21日,武汉封城前2日,由于公司提前放假,回到了家,却没有想到事态竟如此严重,至今已快接近3个月的居家生活,鉴于过去一直没有一个可长时间沉浸在开发中历练的机会,努力抓住了这宝贵的长假,学习了许多东西,记录下来分享给朋友们。如何开始利用一些个人资源,着手一个实战项目,很幸运参与了一个体量较大的项目研...
阅读全文

Golang Package 与 Module 简介
2020-06-10 11:53 admin golangPackage

软件是由代码组成的。为了复用代码,代码的组织出现了不同层次的抽象和实现,如Module(模块),包(Package),Lib(库),Framwork(框架)等。通常一个Project(项目),会根据功能拆分很多module,常用的软件会打包成一个个共享库。在开源社区分享软件包是一件十分cool的事儿。这些软件包也有可能...
阅读全文

Golang 中 runtime 的使用
2020-06-10 11:45 admin golangruntime

`runtime`调度器是个非常有用的东西,关于`runtime`包几个方法:***Gosched**:让当前线程让出`cpu`以让其它线程运行,它不会挂起当前线程,因此当前线程未来会继续执行***NumCPU**:返回当前系统的`CPU`核数量***GOMAXPROCS**:设置最大的可同时使用的`CPU`核数***...
阅读全文

Golang 中关于闭包的坑
2020-06-10 11:45 admin golang闭包

所谓闭包是指内层函数引用了外层函数中的变量或称为引用了自由变量的函数,其返回值也是一个函数,了解过的语言中有闭包概念的像`js,python,golang`都类似这样。`python`中的闭包可以嵌套函数,像下面这样:__defmake_adder(addend):defadder(augend):returnauge...
阅读全文

一个简单的Golang实现的HTTP Proxy
2020-06-10 11:44 admin golangHTTP

>欢迎扫码关注公众号`flysnow_org`,第一时间看后续文章。觉得有帮助的话,顺手分享到朋友圈吧,感谢支持。最近因为换了Mac,以前的Linux基本上不再使用了,但是我的SS代理还得用。SS代理大家都了解,一个很NB的Socket代理工具,但是就是因为他是Socket的,想用HTTP代理的时候很不方便。以前在Li...
阅读全文

Golang 调用 Linux 命令
2020-06-10 11:44 admin golanglinux

**Golang**中可以使用`os/exec`来执行**Linux**命令,下面是一个简单的示例:__packagemainimport("fmt""io/ioutil""os/exec")funcmain(){cmd:=exec.Command("/bin/bash","-c",`df-lh`)//创建获取命令输出...
阅读全文

[golang] cgo项目如何编译便携版二进制文件
2020-06-10 11:43 admin golangCGO

项目计划直接用二进制文件分发,本来golang在这是没有一点问题的,但是用了cgo引入ImageMagick,那就是另一回事了,ldd查看依赖,整整一页。。。重新编译ImageMagick既然要做一个便携版本,用不上的模块就先尽可能去掉。另外静态编译需要先生成静态库,不过ImageMagick的默认选项就是同时生成静态...
阅读全文

golang grqueue
2020-06-10 11:43 admin golanggrqueue

前言工作以来做项目大部分的使用的轮子(第三方库)都是一些大牛写好开源出来的,自己只是拼拼凑凑利用现有的轮子完成工作就算完事了。现在我也来造个小轮子吧,不过这个轮子是在写测试程序和分析程序时提取的,并没有用在线上项目中。这里记录下来,也看看有没有人用得上。简介grqueue是goroutinequeue是缩写,实际是一个...
阅读全文

Golang可变参数
2020-06-10 11:43 admin golang可变

前天同事提起了一个例子,关于Golang中可变参数的使用,平时使用时没有注意这个细节,先上代码吧。测试代码想要实现的代码逻辑很明了>1\.TestArgs接受一个int参数,一个不定长的参数,并且类型为interface{}>>2\.nums做为slice,使用...语法糖打散后传入TestArgs看上去逻辑没问题,执...
阅读全文

golang使用vendor目录来管理依赖包
2020-06-10 11:42 admin golangvendor

>原文地址:[http://www.gaoxuan1989.com/2017/07/10/golang-vendor-mange->dependices/](https://link.jianshu.com?t=http://www.gaoxuan1989.com/2017/07/10/golang->vendor-m...
阅读全文

golang channel & select
2020-06-10 11:42 admin golangchannel

通过消息来共享数据是golang的一种设计哲学,channel则是这种哲理的体现.channel定义__varvarNamechandataTypedataType非常广泛,可以是基本的string,int等,也可以是map,slice,自定义的type类型,甚至可以是channel。类型非常丰富,因而在golang中...
阅读全文

Golang context初探
2020-06-10 11:42 admin golangcontext

什么是context从go1.7开始,golang.org/x/net/context包正式作为context包进入了标准库。那么,这个包到底是做什么的呢?根据官方的文档说明:>PackagecontextdefinestheContexttype,whichcarriesdeadlines,>cancelations...
阅读全文

在 Golang 开发中使用 Makefile
2020-06-10 11:42 admin golangMakefile

使用Golang已经有一阵了,在Golang的开发过程中,我已经习惯于不断重复地手动执行`gobuild`和`gotest`这两个命令.不过,现在我已经摆脱了这个习惯。如果只用到了不带参数的简单命令,直接这么操作可能并不可怕。但是在一些复杂的任务中,如果依旧是手动执行`gobuild`和`gotest`,就可能会成为一...
阅读全文

golang mysql
2020-06-10 11:40 admin golangmysql

1)获取mysql驱动gogetgithub.com/go-sql-driver/mysql在$GOPATH/src目录下,有一个github.com/go-sql-driver/mysql目录2)数据库安装mysqlcreatetableuserinfo(uidint(10)notnullauto_increment...
阅读全文

golang 中 sync.Mutex 和 sync.RWMutex
2020-06-10 11:40 admin golangsyncMutex

***介绍golang中的sync包实现了两种锁:*Mutex:互斥锁*RWMutex:读写锁,RWMutex基于Mutex实现Mutex(互斥锁)*Mutex为互斥锁,Lock()加锁,Unlock()解锁*在一个goroutine获得Mutex后,其他goroutine只能等到这个goroutine释放该Mutex...
阅读全文
顶部 底部