golang
Young丶
这个作者很懒,什么都没留下…
展开
-
go环境变量配置 (GOROOT和GOPATH)
GOROOT就是go的安装路径在~/.bash_profile中添加下面语句:GOROOT=/usr/local/goexport GOROOT当然, 要执行go命令和go工具, 就要配置go的可执行文件的路径:操作如下:在~/.bash_profile中配置如下:export $PATH:$GOROOT/bin如果是windows需要使用;符号分割两个路径, mac原创 2017-08-17 17:39:58 · 14400 阅读 · 0 评论 -
GOROOT、GOPATH
GOROOT就是go的安装路径在~/.bash_profile中添加下面语句:GOROOT=/usr/local/goexport GOROOT当然, 要执行go命令和go工具, 就要配置go的可执行文件的路径: 操作如下: 在~/.bash_profile中配置如下: export PATH:PATH:GOROOT/bin 如果是windows需要使用;符号分割两个路径, ma原创 2017-08-17 17:47:15 · 788 阅读 · 0 评论 -
mac vscode 配置golang
配置环境变量打开terminal 1 cd ~进入用户主目录, 2 ls -all查看是否存在.bash_profile 3 vim .bash_profile打开并编辑该文件 4 根据自己的实际情况配置路径,我配置到了外置硬盘中export GOPATH=/Volumes/gnhxsk/mygoexport GOBIN=$GOPATH/binexport PAT原创 2017-08-18 18:11:16 · 3144 阅读 · 0 评论 -
golang make()内置函数
内建函数 make 用来为 slice,map 或 chan 类型分配内存和初始化一个对象(注意:只能用在这三种类型上),跟 new 类似,第一个参数也是一个类型而不是一个值,跟 new 不同的是,make 返回类型的引用而不是指针,而返回值也依赖于具体传入的类型make()函数在golang的代码如下:func make(t Type,size IntegerType) Type原创 2017-01-11 16:19:41 · 9600 阅读 · 0 评论 -
Go的变量到底在堆还是栈中分配
最近试着优化掉一些小对象分配,发现一个很诡异的问题:这段代码会在堆上分配对象!package mainimport ( "fmt")func main() { var a [1]int c := a[:] fmt.Println(c)}看汇编代码go tool compile -S test.golang"".main t=1 si转载 2017-08-25 15:23:18 · 9992 阅读 · 4 评论 -
Go Reflect
最近在看一些go语言标准库以及第三方库的源码时,发现go的reflect被大量使用,虽然反射的机制大多数语言都支持,但好像都没有go一样这么依赖反射的特性。个人觉得,reflect使用如此频繁的一个重要原因离不开go的另一个特性,空接口interface{},reflect配合空接口,让原本是静态类型的go具备了很多动态类型语言的特征。 另外,虽然反射大大增加了go语言的灵活性,但要完全掌握它的原原创 2017-08-31 10:04:19 · 458 阅读 · 0 评论