一、Golang开发环境搭建
1.安装golang编译器
下载地址:https://golang.google.cn/doc/install?download=go1.16.3.windows-amd64.msi
2.创建工程目录
(主要用于手动编译,使用IDE的话可以由IDE统一管理项目)
1)创建一个目录作为所有golang项目的根目录
D:golang_workspace
该目录对应环境变量GOPATH。
2)在工程目录中创建bin、pkg、src三个子目录
D:golang_workspacein D:golang_workspacepkg D:golang_workspacesrc
bin目录用于存放golang编译输出的exe可执行文件,对应设置环境变量GOBIN。
pkg目录用于存放golang生成的包(供其他程序导入使用)。
src用于存放各golang工程的源代码
3.设置环境变量
1)将golang编译器加入环境变量
2)设置GOBIN、GOPATH、GOROOT环境变量
4.新建项目
1)在GOPATH下的src中添加项目目录,例如new_program
2)在项目目录中新建一个app.go文件
3)编写如下代码:
package main import "fmt" func main(){ fmt.Println("Hello World!!") }
二、使用命令行编译
1.go run命令行运行
D:golang_workspacesrc
ew_program>go run app.go
Hello World!!
2.go build生成exe可执行文件
D:golang_workspacesrc ew_program>go build app.go D:golang_workspacesrc ew_program>app.exe Hello World!!
使用go build可以生成exe可执行文件。
3.go install在GOBIN下生成exe文件
当代码为如下:
package main import "fmt" func main(){ fmt.Println("Hello World!!") }
即package为main,且拥有main主函数时,go install 会编译为exe可执行文件。
1)运行go mod init
D:golang_workspacesrc
ew_program>go mod init
go: creating new go.mod: module new_program
go: to add module requirements and sums:
go mod tidy
2)运行go install在bin目录下生成exe文件
D:golang_workspacesrc
ew_program>go install
3)查看生成的exe文件
D:golang_workspacein>dir 驱动器 D 中的卷是 新加卷 卷的序列号是 446F-2235 D:golang_workspacein 的目录 2021/04/13 23:43 <DIR> . 2021/04/13 23:43 <DIR> .. 2021/04/13 23:43 2,095,616 new_program.exe 1 个文件 2,095,616 字节 2 个目录 30,576,226,304 可用字节
可在GOBIN目录下看到生成的new_program.exe可执行文件(前提是设置了GOBIN环境变量)。
4.go install在pkg目录下生成包
当代码为如下:
package new_program import "fmt" func Show(){ fmt.Println("Hello World!!") }
即package不为main时,则编译器会将该代码编译为静态库(.a包文件)。
以下使用cmd命令行生成包文件,如果在goland IDE中,则在terminal中执行以下命令即可。
1)运行go mod init
D:golang_workspacesrc
ew_program>go mod init
go: creating new go.mod: module new_program
go: to add module requirements and sums:
go mod tidy
2)运行go install在pkg目录下生成包
D:golang_workspacesrc
ew_program>go install
3)查看生成的包
D:golang_workspacepkgwindows_amd64 的目录 2021/04/13 23:10 <DIR> . 2021/04/13 23:10 <DIR> .. 2021/04/13 23:19 9,010 new_program.a
可以看到,编译器在pkg目录下生成了windows_amd64的目录,其中保存了生成的new_program.a静态库文件。
三、(坑)golang生成的exe程序运行时拒绝访问
例如,使用Goland IDE在运行时出现以下错误:
或者使用cmd运行exe程序,闪退(可以隐约看到“拒绝访问”)。
原因:开启了杀毒软件,例如360安全卫士。
= =!!