最近接手一个golang项目,在前人基础上完善一些功能,初识golang,也算踩了一些坑,记录一下。
首先说说第三方包的引用:java里面引用第三方包都是jar包,而golang引用第三方包是是直接从github下载代码源文件,经常会因为文件过大下载时间太长导致下载失败。另外,jar包一般不能修改,但是从github下载下来的源代码是可以修改的。
再来说说部署:一般在main文件目录下执行
go build main.go
即可,会根据本地代码的操作系统环境生成相应的可执行文件,例如window环境下会生成.exe文件,如果本地环境是window,部署环境是linux,那么在执行build命令之前,需要设置目标环境
bee pack -be GOOS=linux
之后再执行build,就会在当前目录下生成一个可执行文件,将文件拷贝到服务器上,就可以直接执行。用惯了java spring的同学要注意,build并不会将配置文件打包,如果用到了配置文件,则需要将配置文件拷贝到服务器上才能正常运行。
再说说golang的多线程利器goroutine,很多文章已经写的很清楚了
https://blog.youkuaiyun.com/l1002544188/article/details/82296943
golang开启线程的方式很方便,喜欢写多线程代码的同学用起来会上瘾。
再说说golang的变量声明
https://blog.youkuaiyun.com/jfkidear/article/details/85197346
关于chan: