安装go环境
GOROOTGOPATH
GOROOT即go的安装目录,配置成go的安装目录就可以
GOPATH即go将来做存储的路径,随便新建一个路径就可以
同时也要把环境变量中的用户变量的GOPATH也改成相应的值
然后需要在GOPATH目录下创建如下目录,以后会自动用到这些目录,go最原始的是这样,但是现在这三个文件夹用处改变了,但是为了安全起见还是创建这三个文件夹
pkg:编译后生成文件
src :项目的源代码
bin:编译后可执行的文件
安装golang开发环境IDE,选择刚才安装的go编译环境即可,可以写个helloworld测试
go程序必须有一个package main,当发现main包时,从main包中的main函数开始执行。
编译时会声明main包的代码所在目录的目录名作为可执行程序的文件名
package main
import "fmt"
func main() {fmt.Println("hello")
}
go get
go.mod
go-v1.19.4版本测试,在创建项目时有以下两种情况
第一种情况,选择GOPATH
Index entire GOPATHE:\go1-workpath
go.modGOPATH/srcgo getGOPATH/src
GOPATH/srcgo getGOPATH/src
go getGOPATH/src
第二种情况,不选择GOPATH(推荐)
go.modE:\go2-workpath
此时不管是否设置了goproxy都看不到GOPATH
由于网络问题不设置goproxy下载不下来
go getGOPATH/pkg/mod
GO111MODULE
GOPATH/src
GO111MODULE是go modules功能的开关
-
GO111MODULE=off,无模块支持,go命令行将不会支持module功能,寻找依赖包的方式将会沿用旧版本那种通过vendor目录或者GOPATH模式来查找
-
GO111MODULE=on,模块支持,go命令行会使用modules,这样就不必须用到GOPATH
-
GO111MODULE=auto,默认值,go命令行将会根据当前目录来决定是否启用module功能。这种情况下可以分为两种情形:
- 当前目录在GOPATH/src之外且该目录包含go.mod文件,开启模块支持。
- 当前文件在包含go.mod文件的目录下面。
在使用go modules时,GOPATH是无意义的,不过它还是会把下载的依赖存储在$GOPATH/pkg/mod 中
也会把go install 的结果放在 $GOPATH/bin 中。
go module
go getgo mod initgo get
go.modgo mod init <模块名>go mod tidygo mod download$GOPATH/pkg/mod$GOPATH/pkg/sumgo.sumgo mod vendor
可执行文件位置
默认情况下生成路径如下
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cxg3OtNf-1680186331522)(images/image-20230330123637986.png)]
edit configuration
参考链接
田老八的离线笔记
go语言:环境变量GOPROXY和GO111MODULE设置
关于go get 以后下载的包不在src下而在pkg的源头并且不可以import(Goland Modules模块的使用)
golang 系列: go mod 使用
【狂神说】Go语言零基础学习视频通俗易懂