Go复习
# 代码包
#命名基础包
package “base” #导入基础包
import(
"base1"
ba "base2" 只导入当不使用情况下需要添加别名
. "base3" 不加前缀而直接使用某个依赖包的中的程序实体,用“.”来替代别名
_ "base4" 初始化某个代码包,用“_”来替代别名
) #初始化基础包
func init(){
fmt.Println("初始化基础包")
}
#标准命令
build 用于编译制定代码包或者Go语言源码文件
clean 用于清除因执行其他go命令而遗留下来的临时目录和文件
doc 用于显示Go语言代码包以及程序实体的文档
env 用于打印Go语言相关的环境信息
fix 用于修正制定代码包的源码文件中包含的过时语法和代码调用
fmt 用于格式化制定代码包的Go源码文件
generate 用于识别制定代码包中的源码文件中的go:gonerate注释,并执行器携带的任意命令
get 用于下载、编译并安装指定的代码包及其依赖包
install 用于编译并安装指定的代码包及其依赖包
list 用于显示指定代码包的信息
run 用于编译并运行指定的命令源码文件
test 用于测试指定代码包,其中需要有测试单元
tool go语言特殊工具
vet 用于检测指定代码包中的Go语言源码,并报告发现可以代码问题
version 用于显示当前go语言版本信息以及计算环境
# 额外定制命令的执行过程
-a 用于强制重新编译所有涉及的GO语言代码包(包括Go语言标准库的代码包),即使它们已经是最新的了
-n 使命令仅打印器执行过程中用到的所有命令,而不是真正执行它们
-race 用于检测并报告指定Go语言程序中存在的数据竞争问题
-v 用于打印命令执行时生成和使用的临时工作目录的名字,且命令执行完成后不删除它
-work 用于打印命令执行时生成和使用的临时工作目录的名字,且命令执行完成后不删除它
-x 使命令打印其执行过程中的用到的所有命令,同时执行它们
# 语法
# 基本构成元素
标识符(identifier) 关键字(keyword) 字面量(literal) 分隔符(delimiter)
操作符(operator) # 标识符
## 预定义表示服
所有基本数据类型的名称
接口类型error
常量true、false、iota
## 空标识符 用"_"表示 # 关键字
| 类别 | 关键字 |
| 程序声明 | import和package |
| 程序实体声明和定义 | chan、const、func、interface、map、struct、type和var |
| 程序流程控制 | go、select、break、case、continue、default、defer、else、fallthrought、for、goto、if、range、return、和switch |
# 字面量
## 用于表示基础数据类型值得各种字面量
## 用于构造各种自定义的复合数据类型的类型字面量
## 用于表示复合数据类型的值得复合字面量 # 操作符
一共21个分类五类:
算术操作符、比较操作符、逻辑操作符、地址操作符、接收操作符 # 表达式
把操作符和函数作用于操作数的计算方法
| 种类 | 用途 | 示例 |
| 选择表达式 | 选择一个值中的字段或方法 | context.Speaker//contact是变量名 |
| 索引表达式 | 选取数组、切片、字符串或字典值中的某个元素 | array[1]//array1表示一个数组值,其长度必须大于1 |
| 切片表达式 | 选取数组、数组指针、切片或字符串值中的某个范围的元素 | slice1[0:2]//slice1表示一个切片段,其容量必须大于或等于2 |
| 类型断言 | 判断一个接口值得实际类型是否为某个类型,或一个非接口值得类型是否实现了某个接口类型 | v1.(I1) //v1表示一个接口值,I1表示一个接口类型 |
| 调用表达式 | 调用一个函数或一个值得方法 | v1.M1()//v1表示一个值,M1表示与该值关联的一个方法 |
Go复习的更多相关文章
- iOS总结_UI层自我复习总结
UI层复习笔记 在main文件中,UIApplicationMain函数一共做了三件事 根据第三个参数创建了一个应用程序对象 默认写nil,即创建的是UIApplication类型的对象,此对象看成是 ...
- vuex复习方案
这次复习vuex,发现官方vuex2.0的文档写得太简略了,有些看不懂了.然后看了看1.0的文档,感觉很不错.那以后需要复习的话,还是先看1.0的文档吧.
- 我的操作系统复习——I/O控制和系统调用
上篇博客介绍了存储器管理的相关知识——我的操作系统复习——存储器管理,本篇讲设备管理中的I/O控制方式和操作系统中的系统调用. 一.I/O控制方式 I/O就是输入输出,I/O设备指的是输入输出设备和存 ...
- 复习(1)【Maven】
终于开始复习旧知识了,有输入必然要有输出.输入和输出之间的内化过程尤为重要,在复习的同时,真正把学到的东西积淀下来,加深理解. Maven项目概念与配置 Maven是一个项目管理和综合工具.Maven ...
- 《CSS权威指南》基础复习+查漏补缺
前几天被朋友问到几个CSS问题,讲道理么,接触CSS是从大一开始的,也算有3年半了,总是觉得自己对css算是熟悉的了.然而还是被几个问题弄的"一脸懵逼"... 然后又是刚入职新公司 ...
- JS复习--更新结束
js复习-01---03 一 JS简介 1,文档对象模型 2,浏览器对象模型 二 在HTML中使用JS 1,在html中使用<script></script>标签 2,引入外部 ...
- jQuery 复习
jQuery 复习 基础知识 1, window.onload $(function(){}); $(document).ready(function(){}); 只执行函数体重的最后一个方法,事 ...
- jQuery5~7章笔记 和 1~3章的复习笔记
JQery-05 对表单和表格的操作及其的应用 JQery-06 jQuery和ajax的应用 JQery-07 jQuery插件的使用和写法 JQery-01-03 复习 之前手写的笔记.实在懒得再 ...
- HTML和CSS的复习总结
HTML(Hypertext Markup Language)超文本标记语言:其核心就是各种标记!<html> HTML页面中的所有内容,都在该标签之内:它主要含<head>和 ...
- 2017年1月1日 java学习第二天复习
今天是新年的第一天,以前学习没有总结习惯,学习效率和成果都很不好. 学习的过程就是反复的复习和不断学习的过程,开始今天的学习总结 学习java的第二天. 今天学习了java最基础的一些内容,照着 ...
随机推荐
- 最小生成树-Prim算法与Kruskal算法
一.最小生成树(MST) ①.生成树的代价:设G=(V,E)是一个无向连通网,生成树上各边的权值之和称为该生成树的代价. ②.最小生成树:在图G所有生成树中,代价最小的生成树称为最小生成树. 最小生成 ...
- ESP32D0WDQ6 灯泡 黑客
这个黑客表现得如何聪明 灯泡 可能泄漏您的Wi-Fi密码O网页链接破解者博客详文 Pwn the LIFX Mini white O网页链接ESP32D0WDQ6, a SoC from ESPRES ...
- 跨平台c++/boost/asio 简单的HTTP POST请求 客户端模型
作为一个呼应,写一个c++版本的同步http post客户端功能,如果你需要纯C版本,移步这里 linux下纯C简单的HTTP POST请求 客户端模型 讲解一下基本的的http post协议 通过\ ...
- OC基础数据类型-NSDictionary
1.字典NSDictionary 字典与数组的区别:数组讲究顺序,而字典可以快速帮助我们找到数据,数据是我们的目的,键是我们的手段 NSDictionary *dict = [[NSDictionar ...
- 深入解析Backbone.js框架的依赖库Underscore.js的作用
这篇文章主要介绍了深入解析Backbone.js框架的依赖库Underscore.js的作用,用过Node.js的朋友对Underscore一定不会陌生:)需要的朋友可以参考下 backbone必须依 ...
- VMware workstation 虚拟机安装帮助文档(以windows server 2003为例)
本次安装以Windows server 2003为例: 1.在桌面上双击VMware快捷方式打开,并点击文件>新建虚拟机 2.这里选择默认的“典型”,点击下一步 3.选择浏览,找到windows ...
- 转 C++11之std::function和std::bind
std::function是可调用对象的包装器,它最重要的功能是实现延时调用: #include "stdafx.h" #include<iostream>// std ...
- 字符串拼接+和concat的区别
+和concat都可以用来拼接字符串,但在使用上有什么区别呢,先来看看这个例子. public static void main(String[] args) { // example1 String ...
- Python小技巧:使用*解包和itertools.product()求笛卡尔积
[问题] 目前有一字符串s = "['a', 'b'],['c', 'd']",想把它分开成为两个列表: list1 = ['a', 'b'] list2 = ['c', 'd'] ...
- 【[USACO13NOV]没有找零No Change】
其实我是点单调队列的标签进来的,之后看着题就懵逼了 于是就去题解里一翻,发现楼上楼下的题解说的都好有道理, f[j]表示一个再使用一个硬币就能到达i的某个之前状态,b[now]表示使用那个能使状态j变 ...