深入理解 go install 和 go build

1、作用

go build: 用于测试编译包,在项目目录下生成可执行文件(有main包)。

go install: 主要用来生成库和工具。一是编译包文件(无main包),将编译后的包文放到pkg目录下($GOPATH/pkg)。二是编译生成可执行文件(有main包),将可执行文件放到bin目录($GOPATH/bin)。

 

2、相同点

都能生成可执行文件

3、不同点

  • go build 不能生成包文件,go install 可以生成包文件
  • go build 生成的可执行文件在当前目录下,go install 生成的可执行文件在bin目录下($GOPATH/bin)。先go build 后,在执行go install命令,当前目录下生成的可执行文件会消失(不知道问什么?)

本文来自https://www.jianshu.com/p/3db831d9b553

推荐这些文章:

go语言指针

Go语言的取地址符是&,放到一个变量前使用就会返回相应变量的内存地址
package main
import   “”fmt“”
func  main(){
  var a  int  = 10
  fmt.printf("变量的地址:%x/n",&a)
}
变量的地址:20818a220

...

go语言生成其他平台的可执行文件

- Mac 平台下生成windows和linux
# windows
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build
# linux
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build

- windows 下生成Mac和linux(在cmd命令窗口)
# linux
SET CGO_ENABLED=0
SET GOOS=linux
SET GOARCH=amd64
go build
# Mac
SET CGO_ENABLED=0
SET GOOS=darwin
SET GOARCH=amd64
...

深度系统安装go-protobuf

文章:https://www.cnblogs.com/songgj/p/11560565.html
 
根据文章:./configure  命令的时候会报下载的错误

 
 解决方案: https://blog.csdn.net/john_f_lau/article/details/17652523

sudo apt install build-essentialsudo apt-get install libffi-dev

 

...

对 go 文件进行编译

 

go build hello.go

 

 
使用 go run 命令可以直接编译执行,这个命令其实执行了两个步骤,但是不生成二进制可执行文件,只显示最终结果。
 

...

Golang:开发环境搭建

Golang 环境变量

Golang 项目结构
├─Code-Go // GOPATH 目录
│ ├─bin // 存放编译后的二进制可执行文件
│ ├─pkg // 存放编译后的库文件
│ └─src // 存放源代码文件
│ └─github.com // 网站域名
│ └─toki-plus // 作者名
│ └─hello // 项目名
│ └─main.go // 代码文件

go build
go build 表示将源代码编译成可执行文件
在 he...

Go mod 最简单的理解和使用

https://blog.csdn.net/ming2316780/article/details/90370913
https://blog.csdn.net/qq_38151401/article/details/105780251
Go mod 最简单的理解和使用研究了一下Go mod 发现还真是挺好用的,既可以管理包的版本问题,又解决了有些包被墙无法下载的困扰
Go mod 的三种开启模式GO111MODULEon:支持Go mod模式off:不支持Go mod模式auto (默认模式):如果代码在gopath下,则自动使用gopath模式;如果代码不在gopath下,则自动使用GO...

Go语言程序的编译和运行

Go语言是编译型的静态语言(和C语言一样),所以在运行Go语言程序之前,先要将其编译成二进制的可执行文件。
可以通过Go语言提供的go build或者go run命令对Go语言程序进行编译:

go build命令可以将Go语言程序代码编译成二进制的可执行文件,但是需要我们手动运行该二进制文件;
go run命令则更加方便,它会在编译后直接运行Go语言程序,编译过程中会产生一个临时文件,但不会生成可执行文件,这个特点很适合用来调试程序。

1、使用go build

(1)、在项目目录下执行go build

(2)、在其他路径下执行go build,需要在后面加上项目的路径(项目路径从...

ubuntu frp 自编译。本文不能按顺序来 请自己理解

go run:go run 编译并直接运行程序,它会产生一个临时文件(但不会生成 .exe 文件),直接在命令行输出程序执行结果,方便用户调试。go build:go build 用于测试编译包,主要检查是否会有编译错误,如果是一个可执行文件的源码(即是 main 包),就会直接生成一个可执行文件。go install:go install 的作用有两步:第一步是编译导入的包文件,所有导入的包文件编译完才会编译主程序;第二步是将编译后生成的可执行文件放到 bin 目录下($GOPATH/bin),编译后的包文件放到 pkg 目录下($GOPATH/pkg)。----------------...

golang下新版grpc和pb的编译

1、安装相关插件
go install google.golang.org/protobuf/cmd/protoc-gen-go
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc

2、配置环境变量
在Path下添加 %GOPATH%\bin

3、编译当前目录下的所有.proto文件并输出到../../go目录下
protoc --go_out=../../go --go-grpc_out=../../go -I=. *.proto

ps:-I指定工作目录

...

Go语言学习02-第一个程序与编译

0x00 永远的Hello world!
package main

import "fmt"

func main(){ //main表示入口
fmt.Println("HelloWorld!")
}

当我们编写上方的代码时,Vscode一直会弹窗提示什么错误。

这是在说我们没有安装关于自动补全等辅助功能的插件而已,我们可以选择全部安装就行了,但是国内访问国外的网速你懂的,多半会timeout
如果遇到这种情况,解决方法请看前一个Go语言笔记,配置代理等。
0x01 语法
基本语法

代码风格

风格调节命令
gofmt main.go

gofmt -w mai...

文章标题:深入理解 go install 和 go build
文章链接:https://www.dianjilingqu.com/50869.html
本文章来源于网络,版权归原作者所有,如果本站文章侵犯了您的权益,请联系我们删除,联系邮箱:saisai#email.cn,感谢支持理解。
THE END
< <上一篇
下一篇>>