前言
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 多平台公布