Go语言入门篇-命令 与 语法
一。命令基础
1. go run :
用于运行命令源码文件(如:go run helloworld.go)
只能接受一个命令源码文件以及若干个库源码文件作为文件参数
其内部操作步骤:
(1)先编译源码文件再运行
先会编译作为参数的源码文件-》编译结果放入临时文件夹中-》运行编译的结果。
编译结果包括:命令源码文件(.go)和编译后生成的可执行文件和编译后所生成的归档文件(.a)
示例:


go run helloworld.go -p ~goc2p/src/helper/ //打印目录
go run常用标记:
-a:强制编译相关代码,不论它们的编译结果是否已是最新的。(go run -a xx.go)
如当前有一个命令源码文件,导入代码包A,代码包A在之前已编译过,且在编译后,代码包A没有产生任何变化,则GO是不会再编译的。加-a强制再编译。
-n:打印编译过程中所需运行的命令,但不真正执行它们。(go run -n xx.go)
-p n :并行编译,其中n为并行的数量 (n最好为逻辑CPU个数) (go run -p n xx.go)
-v:列出被编译代码包的名称(go run -v xx.go)
-a -v:列出所有被编译的代码包名称
注意:1.3中的所有:包含GO语言自带的标准库的代码包
1.4中的所有:不包含GO语言自带的标准库的代码包
-work:显示编译时创建的临时工和目录的路径,并且不删除它。
-x:打印编译过程中所需运行的命令 (与-n相似)
-x:打印编译过程中所需的命令,并执行他们
-n:打印编译过程中所需的命令,但并不执行他们
2.go build 和 go install
go build:
用于编译源码文件或代码包
编译非命令源码(库源码)文件不会产生任何结果文件
编译命令源码文件会在该命令的执行目录中生成一个可执行文件
执行该命令且不追加任何参数时,它会试图把当前目录作为代码包并编译
执行该命令且以代码包的导入路径作为参数时,该代码包及其依赖会被编译
加入-a标记后所有涉及到的代码包都会被重新编译
不加入-a标记,则只会编译归档文件不是最新的代码包
执行该命令且以若干源码文件作为参数时,只有这些文件会被编译
go install:
用于编译并安装代码包或源码文件
安装代码包会在当前工作区的pkg/<平台相关目录>下生成归档文件
安装命令源码文件会在当前工作区的bin目录或$GOBIN目录下生成可执行文件
执行该命令且不追加任何参数时,它会试图把当前目录作为代码包并安装
执行该命令且以代码包的导入路径作为参数时,该代码包及其依赖会被安装
执行该命令且以命令源码文件及相关库源码文件作为参数时,只有这些文件会被编译并安装
3.go get

使用go get从远程仓库拉取代码,会生成pkg目录(存放归档文件, .a后缀)
go get 常用标记:


二。Go语法

Go语言入门篇-命令 与 语法的更多相关文章
- Go语言入门篇-项目常见用法&语法
一.导入包用法: //_表示仅执行该包下的init函数(不需要整个包导入) import _ "git.xx.xx/baases/identity/cachain/version" ...
- 优雅的go语言--入门篇
1.特点 1.静态类型,编译型的开源语言 2.脚本华的语法,支持多种编程范式(函数式&面向对象) 3.原生,给力的并发编程的支持 2.优势 1.脚本化的语法 2.静态类型+编译型,程序运行速度 ...
- Go语言入门篇-环境准备
一.GO语言特点 静态类型:首先要明确变量类型,如上所示. 编译型:指GO语言要被编译成机器能识别机器代码. GO语言开源. 编程范式:支持“函数式”和“面向对象” GO语言原生的支持并发编程:即GO ...
- go语言入门教程:基本语法之变量声明及注意事项
一.变量的使用 1.1 什么是变量 变量是为存储特定类型的值而提供给内存位置的名称.在go中声明变量有多种语法. 所以变量的本质就是一小块内存,用于存储数据,在程序运行过程中数值可以改变 1.2 声明 ...
- go语言入门教程:基本语法之数据类型
出处:千锋教育go语言教研部 作者:茹姐 一.基本数据类型 以下是go中可用的基本数据类型 1.1 布尔型bool 布尔型的值只可以是常量 true 或者 false.一个简单的例子:var b bo ...
- kotlin 语言入门指南(一)--基础语法
基于官网的Getting Start的基础语法教程部分,一共三节,这篇是第一节,翻译如下: 基础语法 定义一个包 包的声明必须放在文件头部: package my.demo import java.u ...
- Go语言入门篇-gRPC基于golang & java简单实现
一.什么是RPC 1.简介: RPC:Remote Procedure Call,远程过程调用.简单来说就是两个进程之间的数据交互. 正常服务端的接口服务是提供给用户端(在Web开发中就是浏览器)或者 ...
- Go语言入门篇-网络经验
Go语言学习手册 golang*看云 golang圣经 wuYinIO 1.go语言开发中的坑 go新手容易犯的三个致命错误 Golang 需要避免踩的 50 个坑 2.go语言数据类型 map ...
- Go语言入门篇-使用Beego构建完整web应用
使用Beego构建完整web应用 一.GO简介(Beego应用go编写) 1.为什么用GO (1).语法简单 (2).简洁的并发 (3).开发和执行效率快(编译型语言) 2.GO语言环境 下载go & ...
随机推荐
- 深入理解JAVA虚拟机 虚拟机字节码执行引擎
执行引擎 执行引擎是java虚拟机的重要组成部分.它的作用是接收字节码,解析字节码,执行并输出执行结果. 虚拟机是相对于物理机的概念,物理机的执行引擎是直接建立在处理器.寄存器.指令集和操作系统的层面 ...
- Python之网络编程之并发编程的IO模型,
了解新知识之前需要知道的一些知识 同步(synchronous):一个进程在执行某个任务时,另外一个进程必须等待其执行完毕,才能继续执行 #所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调 ...
- 源于react里面constructor()和super()的使用
es5里面没有继承的话 //构造函数 function People(name,age){ this.age = age; this.name = name } let p1 = new People ...
- Python使用XML操作mapnik,实现复杂标注(Multi line text symbolizer)
test.py import mapnik stylesheet = 'world_style.xml' image = 'world_style.png' m = mapnik.Map(1200, ...
- 封装了opencv的旋转图像函数
void ljb_cv_rotate_buf_size(IplImage *imgSrc, double degree, int *w_dst, int *h_dst) { double angle, ...
- 【BZOJ2521】 [Shoi2010]最小生成树
Description Secsa最近对最小生成树问题特别感兴趣.他已经知道如果要去求出一个n个点.m条边的无向图的最小生成树有一个Krustal算法和另一个Prim的算法.另外,他还知道,某一个图可 ...
- Anaconda安装PyTorch
Anaconda是一个Python语言管理器,支持安装基于Python的开发包,例如tensorflow.Pytorch等,以及各种基于Python的IDE. https://www.jb51.net ...
- 微信小程序POST请求参数传递不到后台, 前台获取不到后端返回的数据, 以及 post 请求返回 404 但后台能收到数据
1 微信小程序POST请求参数传递不到后台 需要在微信请求 wx.request 改变默认 header 配置为如下 wx.request({ url: 'test.php', //仅为示例,并非真实 ...
- C和C++中的副本机制
函数的形参.return 都有副本机制.数组没有副本机制 (为了节约内存) 函数形参和局部变量的生命周期.函数调用结束后就会被回收.
- [CSP-S模拟测试]:旅行计划(分块+DP)
题目传送门(内部题83) 输入格式 第一行两个整数$n,m$ 接下来$m$行,每行三个整数,$u,v,w$,表示从$u$到$v$有一条权值为$w$的边 接下来一行有一个整数$q$,表示$q$天 接下来 ...