学习网站
http://golang.iswbm.com/en/latest/c01/c01_01.html
快速入门 | 正文 |《Gin 框架中文文档 1.5》| Go 技术论坛
01.3. Go 命令 | 第一章. Go 环境配置 |《Go Web 编程》| Go 技术论坛
《G01 Go 实战:Web 入门》 | Go 技术论坛 (重点)
1.安装
Go 语言环境安装 | 菜鸟教程
Windows 系统下安装
Windows 下可以使用 .msi 后缀(在下载列表中可以找到该文件,如go1.4.2.windows-amd64.msi)的安装包来安装。
默认情况下 .msi 文件会安装在 c:\Go 目录下。你可以将 c:\Go\bin 目录添加到 Path 环境变量中。添加后你需要重启命令窗口才能生效。
第一句代码
nish.go文件
// 定义了包名。你必须在源文件中非注释的第一行指明这个文件属于哪个包
package main// 告诉 Go 编译器这个程序需要使用 fmt 包(的函数,或其他元素),fmt 包实现了格式化 IO(输入/输出)的函数
import "fmt"// 程序开始执行的函数。main 函数是每一个可执行程序所必须包含的,一般来说都是在启动后第一个执行的函数(如果有 init() 函数则会先执行该函数)
func main() {/* 这是我的第一个程序 */fmt.Println("Hello, World!")
}
go run nish.go 运行
go build hello.go go build 命令来生成二进制exe文件
go mod命令行参数:
go mod [arguments] 含义
download download modules to local cache(下载模块到本地cache目录下)
edit edit go.mod from tools or scripts(编辑go.mod文件)
graph print module requirement graph(打印出模块的需求图)
init initialize new module in current directory(初始化当前目录的新模块)
tidy add missing and remove unused modules(添加缺失的、移除废弃的模块)此命令做整理依赖使用,执行时会把未使用的 module 移除掉
vendor make vendored copy of dependencies(将依赖模块的首层拷贝到当前目录下vendor文件夹)
verify verify dependencies have expected content(验证模块依赖)
why explain why packages or modules are needed (解释包或者模块为啥被依赖)
配置自定义的代码路径
【Golang】
go env查看环境变量
1、GO111MODULE 如果为off,则在pkg目录下
2、GO111MODULE如果为on,则在src目录下
GOROOT is not defined (降低golang版本最终可以)
1、file-》settings-》GOROOT 配置路径
如果报错看第二步骤
2、本次安装的已经安装好go并配置好GOROOT和GOPATH之后,在Goland无法自动识别出GOROOT。在Goland设置选择go安装目录下,提示以下信息:
The selected directory is not a valid home for Go SDK
解决方案:因为Goland版本和go版本不对应,需要将go版本降低到1.16。调整之后,Goland会自动识别出本地安装的GOROOT的路径。
3、直接用goland的自动匹配下载(重启会有问题)
file-》settings-》GOROOT-》download
go get之后下载文件的目录位置
在开启了go module情况下 , 也就是执行了
go env -w GO111MODULE=on
再执行go get xxxxx
文件会存放在$GOPATH/pkg/mod 下
安装goframe 框架介绍 - GoFrame (ZH)-v2.0 - GoFrame官网 - 类似PHP-Laravel, Java-SpringBoot的Go企业级开发框架
1、直接下载
go get -u -v github.com/gogf/gf/v2
2、通过go.mod(推荐
module goframego 1.16require github.com/gogf/gf/v2 v2.0.4 // indirect
go mod vendor
Sync packages of my-hello
Go Module
gf安装
工具安装-install - GoFrame (ZH)-v2.0 - GoFrame官网 - 类似PHP-Laravel, Java-SpringBoot的Go企业级开发框架
进入对应的项目根目录 gf build main.go 编译生成对应的exe文件
交叉编译-build - GoFrame (ZH)-v2.0 - GoFrame官网 - 类似PHP-Laravel, Java-SpringBoot的Go企业级开发框架
goland的工具的使用/gofmt goimports gometalinter
gofmt 保存的时候自动 格式化go代码(必须)
goimports 保存的时候自动导入处理包(可选)
golangci-lint
goland的工具的使用/gofmt goimports gometalinter_飞翔吧菜鸟的博客-CSDN博客_goland使用gofmt
首先检查file Watchers有没有开启
goimports需要先goget 才可以使用
go get golang.org/x/tools/cmd/goimports
goland的工具的使用/gofmt goimports gometalinter_飞翔吧菜鸟的博客-CSDN博客_goland使用gofmt
在tools里面引入这三个包
无关紧要的小东西
import 其他package需要把代码放在配置 GOROOT的src下面
放在其他目录的需要进行配置(暂时失败)
加载外部import
一、通过 go get github.com/go-sql-driver/mysql 命令安装第三方类库
要启用 go get github.com/go-sql-driver/mysql 命令,
首先必须设置环境变量GOPATH的路径、并且安装git for windows!!! 否则 go get 命令不起作用。
1. 设置 GOPATH 环境变量, 并且这个GOPATH 变量里面的路径不能有分号; 否则会报错
右键我的电脑——高级系统设置——环境变量,系统变量下 点击【新建】
输入: 第1行:GOPATH 第2行:你指定路径,例如: D:\go\gopath (注意去掉末尾的分号)
2. 安装git for windows , http://git-for-windows.github.io/
3. 之后才能执行 go get github.com/go-sql-driver/mysql 命令来安装第三方包。
这条命令它会把 类库包源代码,下载解压到你的 %GOPATH% 路径里面去,
比如:D:\go\gopath\ src\github.com\go-sql-driver\mysql
前面是gopath路径,后面是类库,并且它还会同时执行 go install xxx ,生成 D:\go\gopath\pkg\xxxx 这样的包路径。
4. 在代码中导入下载的那个第三方包
import (
"github.com/go-sql-driver/mysql" // 从环境变量:%goPath% 中定义的路径去查找第三方类库
)
5.如果报错可能需要运行 go mod vendor
6.会在GOROOT里面的vendor里面会有对应的包
细节注意事项
1、单引号会报错,要用双引号