go的三个常用命令go run go build go install
go的三个常用命令
go run
go build
go install
命令源码文件:含有 main函数 的文件
库源码文件:不包含 main函数 的文件, 主要用于编译成静态文件.a供其他包调用
构建:编译
安装:编译+链接
go run
: 用于对命令源码文件做 编译+链接 操作产生 临时 的可执行程序并执行. 一般用于调试程序
go build
: 用于测试编译包
对 库源码文件 go build, 不会产生文件, 只是测试编译包是否有问题
对 命令源码文件 go build, 会在当前执行 go build 命令的目录下产生可执行文件
`go install : 用于 构建+安装 包
对 库源码文件 go install, 直接编译链接整个包, 会在pkg目录下生成.a静态文件, 供其他包调用.
对 命令源码文件 go install, 编译+链接+生成可执行文件, 会在bin目录下生成可执行文件.
注意
go build
:
针对单个go文件构建, [
go build .\mypkg\hello.go
] 只会对单个文件编译检查报错.针对整个文件夹构建, [
go build .\mypkg
] 会对整个文件夹的文件编译检查报错.(如果多个文件有错误, 当遇到第一个文件编译报错就停止了,后面的不会编译)
测试代码结构
hello.go 的路径 src\mypkg\hello.go
package mypkg
import "fmt"
func Hello() {
fmt.Println("hello")
}
say.go 的路径 src\mypkg\say.go
package mypkg
import "fmt"
func Say() {
fmt.Println("say")
}
hello.go 的路径 src\mytest\mytest.go
package main
import "mypkg"
func main() {
mypkg.Hello()
}
go的三个常用命令go run go build go install的更多相关文章
- Redis学习笔记(三)常用命令整理
Redis 常用命令 1.DEL key 删除key2.EXISTS key 检查key是否存在3.KEYS * 查看所有的key4.EXPIRE key seconds 设置key的过期时间5.TT ...
- Maven初级学习(三)常用命令
依赖关系查看 mvn dependency:list #列表形式展示依赖 mvn dependency:tree #层级关系展示依赖 mvn dependency:analyze #依赖分析 声明周期 ...
- Redis学习之路(三)常用命令总结
一.集群 查看Redis集群有多少个库 192.168.200.100:7001> config get databases 1) "databases" 2) " ...
- laravel5.8笔记三:常用命令
创建控制器 php artisan make:controller Index/IndexController 创建模型 php artisan make:model Index/IndexContr ...
- Docker:常用命令大全 [七]
一.docker的命令的解释 1.命令解释 docker run -d -p 80:80 nginx run (创建并运行一个容器) -d 放在后台 -p 端口映射 nginx docker镜像的名字 ...
- maven的配置及一些常用命令
一般来说,github上大多的java项目都是使用maven,ant等进行构建的.由于之前没有使用过maven,因此这几天对maven进行了简单的学习.古话说:“温故而知新”,一些命令长时间不使用都会 ...
- Maven常用命令及Eclipse应用
一般来说,github上大多的java项目都是使用maven,ant等进行构建的.由于之前没有使用过maven,因此这几天对maven进行了简单的学习.古话说:“温故而知新”,一些命令长时间不使用都会 ...
- Linux(3)- 用户管理、文件与目录权限、常用命令、Linux软件包管理
一.用户管理 现代操作系统一般属于多用户的操作系统,也就是说,同一台机器可以为多个用户建立账户,一般这些用户都是为普通用户,这些普通用户能同时登录这台计算机,计算机对这些用户分配一定的资源. 普通用户 ...
- docker学习笔记(1)概述、原理学习、常用命令
一.Docker概述 Docker是基于Go语言实现的云开源项目,诞生于2013年初,目前主流的Linux操作系统已支持Docker,如Redhat RHEL6.5/CentOS6.5.Ubuntu ...
随机推荐
- Windchill 设计变更流程卡死查询方法
设计变更流程卡死查询方法 1. 导出设计变更表单查看填写了“需要”和“是”字眼的文本框 2.打开进程管理器显示流程卡死的地方,确定哪里出错导致没法执行下一步 3.打开设计变更流程图,里面可以查看有 ...
- fhq-treap模板
模板保存. #include<iostream> #include<cstdio> #include<cstring> #include<ctime> ...
- 【总结整理】pv、uv
1.pv的全称是page view,译为页面浏览量或点击量,通常是衡量一个网站甚至一条网络新闻的指标.用户每次对网站中的一个页面的请求或访问均被记录1个PV,用户对同一页面的多次访问,pv累计.例如, ...
- DataTable 常用操作
//定义表结构 DataTable dt = new DataTable(); dt.Columns.Add("FactoryId"); 或dt.Columns.Add(new D ...
- Codeforces 1120D (树形DP 或 最小生成树)
题意看这篇博客:https://blog.csdn.net/dreaming__ldx/article/details/88418543 思路看这篇:https://blog.csdn.net/cor ...
- vector向量容器
vector向量容器不但可以像数组一样对元素进行随机访问,还能在尾部插入元素,是一种简单高效的容器,可以代替数组. vector具有内存自动管理的功能,对于元素的插入和删除,可以动态的调整所占内存. ...
- Navicat 连接阿里云的 MySQL
1 利用Navicat连接阿里云服务器中MySQL 常规连接方式常用于连接本机数据库以及虚拟机中的数据库:但是连接阿里云的MySQL数据库时会出现连接不上的情况,错误信息如下: 1.1 常规中的配置 ...
- 190. Reverse Bits 二进制相反数
[抄题]: Reverse bits of a given 32 bits unsigned integer. Example: Input: 43261596 Output: 964176192 E ...
- spring aop自动代理注解配置之一
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- InvocationtargetException 类型转换异常
日期类型转换不了json格式数据 json转换数据的时候可以设置某个字段不需要转换 jsonconfig=new JsonConfig() //{} 内传入不需要转换的字段 jsonconfig.se ...