一。命令基础

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语言入门篇-命令 与 语法的更多相关文章

  1. Go语言入门篇-项目常见用法&语法

    一.导入包用法: //_表示仅执行该包下的init函数(不需要整个包导入) import _ "git.xx.xx/baases/identity/cachain/version" ...

  2. 优雅的go语言--入门篇

    1.特点 1.静态类型,编译型的开源语言 2.脚本华的语法,支持多种编程范式(函数式&面向对象) 3.原生,给力的并发编程的支持 2.优势 1.脚本化的语法 2.静态类型+编译型,程序运行速度 ...

  3. Go语言入门篇-环境准备

    一.GO语言特点 静态类型:首先要明确变量类型,如上所示. 编译型:指GO语言要被编译成机器能识别机器代码. GO语言开源. 编程范式:支持“函数式”和“面向对象” GO语言原生的支持并发编程:即GO ...

  4. go语言入门教程:基本语法之变量声明及注意事项

    一.变量的使用 1.1 什么是变量 变量是为存储特定类型的值而提供给内存位置的名称.在go中声明变量有多种语法. 所以变量的本质就是一小块内存,用于存储数据,在程序运行过程中数值可以改变 1.2 声明 ...

  5. go语言入门教程:基本语法之数据类型

    出处:千锋教育go语言教研部 作者:茹姐 一.基本数据类型 以下是go中可用的基本数据类型 1.1 布尔型bool 布尔型的值只可以是常量 true 或者 false.一个简单的例子:var b bo ...

  6. kotlin 语言入门指南(一)--基础语法

    基于官网的Getting Start的基础语法教程部分,一共三节,这篇是第一节,翻译如下: 基础语法 定义一个包 包的声明必须放在文件头部: package my.demo import java.u ...

  7. Go语言入门篇-gRPC基于golang & java简单实现

    一.什么是RPC 1.简介: RPC:Remote Procedure Call,远程过程调用.简单来说就是两个进程之间的数据交互. 正常服务端的接口服务是提供给用户端(在Web开发中就是浏览器)或者 ...

  8. Go语言入门篇-网络经验

    Go语言学习手册 golang*看云  golang圣经 wuYinIO 1.go语言开发中的坑 go新手容易犯的三个致命错误   Golang 需要避免踩的 50 个坑 2.go语言数据类型 map ...

  9. Go语言入门篇-使用Beego构建完整web应用

    使用Beego构建完整web应用 一.GO简介(Beego应用go编写) 1.为什么用GO (1).语法简单 (2).简洁的并发 (3).开发和执行效率快(编译型语言) 2.GO语言环境 下载go & ...

随机推荐

  1. Java 接口和内部类

    接口的方法默认死public,接口的属性默认为public static final. 为什么要接口,而不是使用抽象类.一个对象只能继承一个类,却可以实现多个接口. clone: Object的浅拷贝 ...

  2. 【洛谷P2894】Hotel 线段树+二分查询

    题目大意:给定一个长度为 N 的序列,每个点有两种状态 1/0,表示占有和空闲,现支持 first-fit 查询是否有一段连续的长度为 X 的空闲子序列和区间赋值操作. 题解:get到了线段树新技能. ...

  3. 九、爬虫框架之Scrapy

    爬虫框架之Scrapy 一.介绍 二.安装 三.命令行工具 四.项目结构以及爬虫应用简介 五.Spiders 六.Selectors 七.Items 八.Item Pipelin 九. Dowload ...

  4. Flask【第9篇】:Flask-script组件

    flask-script组件 Flask Script扩展提供向Flask插入外部脚本的功能,包括运行一个开发用的服务器,一个定制的Python shell,设置数据库的脚本,cronjobs,及其他 ...

  5. ZROI 19.08.06模拟赛

    传送门 写在前面:为了保护正睿题目版权,这里不放题面,只写题解. 今天正睿又倒闭了,从删库到跑路. 天祺鸽鸽txdy! A "不要像个小学生一样一分钟就上来问东西."--蔡老板 虽 ...

  6. Redhat 关闭防火墙和selinux

    查看防火墙状态.systemctl status firewalld 临时关闭防火墙命令.重启电脑后,防火墙自动起来.systemctl stop firewalld 永久关闭防火墙命令.重启后,防火 ...

  7. nodejs中 require 方法的加载规则

    require参数类型 http.fs.path等,原生模块 ./mod或../mod,相对路径的文件模块 /pathtomodule/mod,绝对路径的文件模块 mod,非原生模块的文件模块 在进 ...

  8. 14. ClustrixDB 高可用性的最佳实践

    本文档详细介绍了最大化ClustrixDB上运行的应用程序正常运行时间的最佳实践.这涵盖了广泛的主题,从环境需求到变更管理程序,所有这些最终都会影响应用程序的可用性.其中许多是您可能已经熟悉的标准最佳 ...

  9. TTTTTTTTTTT LA 4329 BIT模版

    题意: 有n个打乒乓球的人,住在一排房子内,以房子的顺序从做到由,每个人都有一个不同的乒乓球等级ai.每次比赛需要三人,两人比赛和一人裁判,裁判必须居住在两个比赛者之间,且等级必须也在两个人之间.问最 ...

  10. VirtualBox NAT Host-only模式下,自动分配IP上网。

    修改宿主机上,virtualbox自建虚拟网卡Host-Only 2. 因为我使用了两个适配器,所以这两个适配器的名字分别是ifcfg-eth0, ifcfg-eth1. ifcfg-eh0一般默认就 ...