前言
Go(又称 Golang)是 Google 开发的一种动态强类型、编译型、并发型,并具备垃圾回收性能的编程语言。Go 被誉为是将来的服务器端编程语言。
Go是一门全新的动态类型开发语言,具备主动垃圾回收,丰盛的内置类型,函数多返回值,错误处理,匿名函数,并发编程,反射等个性。
特色:
- 简洁、疾速、平安
- 并行、乏味、开源
- 内存治理、数组平安、编译迅速
GOROOT
其实就是golang
的装置门路
当你装置好golang
之后其实这个就曾经有了
GOPATH
go
命令依赖一个重要的环境变量:GOPATH
GOPATH
容许多个目录,当有多个目录时,请留神分隔符,多个目录的时候Windows
是分号;
当有多个GOPATH
时默认将go get
获取的包寄存在第一个目录下
GOBIN
go install
编译寄存门路。不容许设置多个门路。能够为空。为空时则遵循“约定优于配置”准则,可执行文件放在各自GOPATH
目录的bin
文件夹中(前提是:package main的main函数文件不能间接放到GOPATH
的src
上面。
GOPATH目录约定有三个子目录
- src:寄存源代码(比方:.go .c .h .s等) 依照golang默认约定,
go run
,go install
等命令的当前工作门路(即在此门路下执行上述命令)。 - pkg:编译时生成的两头文件(比方:.a)
golang
编译包时 - bin:编译后生成的可执行文件(为了不便,能够把此目录退出到 $PATH 变量中,如果有多个gopath,那么应用${GOPATH//://bin:}/bin增加所有的bin目录)
目录构造布局
GOPATH
下的src
目录就是接下来开发程序的次要目录,所有的源码都是放在这个目录上面,那么个别咱们的做法就是一个目录一个我的项目,
例如:
$GOPATH/src/myproject
示意myproject
这个利用包或者可执行利用,这个依据package是main还是其余来决定,main的话就是可执行利用,其余的话就是利用包,这个会在后续具体介绍package。
go get 和go install
go get
会做两件事:
- 从近程下载须要用到的包
- 执行go install
go install
会生成可执行文件间接放到bin
目录下,当然这是有前提的
你编译的是可执行文件,如果是一个一般的包,会被编译生成到pkg
目录下该文件是.a结尾
go 整体开发目录
不应用 go mod
的形式,我的项目全在 $GOPATH/src
下
go_project // go_project为GOPATH目录 -- bin -- myApp1 // 编译生成 -- myApp2 // 编译生成 -- myApp3 // 编译生成 -- pkg -- src -- myApp1 // project1 -- models -- controllers -- others -- main.go -- myApp2 // project2 -- models -- controllers -- others -- main.go -- myApp3 // project3 -- models -- controllers -- others -- main.go
我是 甜点cc
酷爱前端,也喜爱专研各种跟本职工作关系不大的技术,技术、产品趣味宽泛且浓重,期待着一个守业机会。本号次要致力于分享集体经验总结,心愿能够给一小部分人一些渺小帮忙。
心愿能和大家一起致力营造一个良好的学习气氛,为了集体和家庭、为了我国的互联网物联网技术、数字化转型、数字经济倒退做一点点奉献。数风流人物还看中国、看今朝、看你我。
本文由mdnice多平台公布