![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
GO
明瞳
一阴一阳之谓道
展开
-
Go语言8-基本语法-函数
内置函数 函数名 功能 append 把元素添加到slice,返回修改后的slice copy 复制slice,返回复制的数目 delete 从map中删除key对应的value panic 停止常规的goroutine recover 允许程序定义goroutine的panic动作 make 用于slice,map,cha...原创 2019-01-10 17:38:53 · 142 阅读 · 0 评论 -
Go语言14-包
1.包的由来为了代码更好的维护和复用,Go语言按程序的功能性将源代码分割成一个个逻辑单元,组织成若干组文件,每组文件被称为一个包。这样开发人员可以以包为单位对代码进行维护,也可以以包为复用单元,引入到其他项目。2.包名为了方便包的定位,建议包名和目录名一致,即以.go为后缀名的源文件,其第一行代码所声明的包名和 此文件所属的目录名一致。3.包的分类3.1main包Go语言编...原创 2019-01-14 03:53:23 · 498 阅读 · 0 评论 -
Go语言15-高级-面向对象——方法
1.Go语言面向对象编程特性Go语言没有封装,继承,多态这些概念,但它通过以下方式实现了这些特性。特性 实现方式 封装 通过方法实现 继承 通过匿名字段实现 多态 通过接口实现 2.Go语言方法封装是指将对象运行所需的资源封装再程序对象中。而Go语言通过方法实现封装。2.1定义格式方法,本质上是一个函数。与普通函数的格式有一点不同,它在关...原创 2019-01-14 20:42:32 · 162 阅读 · 0 评论 -
Go语言7-基本语法-流程控制
流程控制-选择语句 1条件语句ifif 布尔表达式{//布尔表达式不需要括号/*在布尔表达式为true时执行*/}2 if...else 语句if 布尔表达式{/*在布尔表达式为true时执行*/} else {/*在布尔表达式为false时执行*/}3if...else if...else语句if 布尔表达式1 {/*在布尔表达式1 为true时执行*/...原创 2019-01-09 16:07:44 · 139 阅读 · 0 评论 -
Go语言16-高级-面向对象——继承
文章目录面向对象——继承1.嵌套结构体2.匿名组合3.同名字段4.其他匿名字段4.1 非结构体类型4.2 结构体指针类型5.方法的继承与重写5.1 方法的继承5.2 方法的重写面向对象——继承1.嵌套结构体结构体内的字段有可能也是一个结构体,这样的结构体称为嵌套结构体。package mainimport "fmt"type Animal struct { name strin...原创 2019-01-15 10:50:38 · 161 阅读 · 0 评论 -
GO语言21——单元测试
文章目录Go 程序需测试1 功能测试1.1 编写功能测试函数1.2 进一步完善1.2.1 常规记录1.2.2 错误记录1.2.3 致命错误记录1.2.4 失败标记1.2.5 忽略测试1.2.6 并行运行2 基准测试3 样本测试4 go test 测试参数Go 程序需测试Go 语音由自带的测试工具。标准库中提供了转变用于测试的代码包testing。和go test 命令进行协调使用,可以自动执...原创 2019-01-20 17:34:16 · 2144 阅读 · 0 评论 -
Go语言17-高级-面向对象——接口
文章目录面向对象——接口1.接口的概述2.接口的定义3.接口的实现3.1普通接口的实现3.2 嵌入接口的实现4.接口的赋值4.1将对象实例赋值给接口类型变量4.2.将一个接口赋值给另一个接口5.空接口6.类型查询6.1 类型断言6.2 类型选择面向对象——接口1.接口的概述a.接口是自定义类型,具体描述了一系列方法的集合。b.接口是一种抽象的类型,不会暴露出它所代表的对象的内部值结构和这...原创 2019-01-15 14:00:23 · 258 阅读 · 0 评论 -
Go语言18-高级-异常处理
文章目录异常处理1.error接口1.1 error接口的定义1.2 生成error值的方法1.2.1 使用errors包的New函数1.2.2 调用fmt包中的Errorf函数2. panic3.recover异常处理Golang中引入error接口类型作为错误处理的标准模式,如果函数要返回错误,则返回值类型列表中肯定包含error。error处理过程类似于C语言中的错误码,可逐层返回,直到...原创 2019-01-15 23:57:24 · 303 阅读 · 0 评论 -
Go语言19-高级——并发编程
文章目录并发编程1.概述1.1 并行和并发1.2 Go语言并发优势2. goroutine2.1 goroutine的定义2.2 goroutine的创建和运行2.2.1 mian goroutine2.2.2 其他goroutine2.3 runtime包2.3.1 Gosched3.2.3 Goexit2.3.3 GOMAXPROCS3 channel3.1 概述3.2 channel的创建3...原创 2019-01-16 04:11:03 · 268 阅读 · 0 评论 -
Go语言13-复合类型-结构体
1结构体概述Go语言的结构体是一种聚合的数据类型,由一系列具体相同或不同类型的数据构成的数据集合。2.结构体初始化2.1普通变量初始化创建方式 操作 说明 顺序初始化 按结构体变量顺序依次赋值。 用顺序初始化的方式初始化,每个成员都必须初始化 部分成员初始化 仅对结构体类型的部分成员进行赋值 没被初始化的成员,会自动取零值。 p...原创 2019-01-14 03:19:29 · 253 阅读 · 1 评论 -
Go语言12-复合类型-字典
1.字典概述Go语言中的map(映射、字典)是一种内置的数据结构,它是一个无序的键值对(key:value)集合,key类似于索引,可以通过key快速检索value。 2.字典的声明和初始化2.1字典的声明var m1 map[keyType]valueTypea.一个map里所有的键都是唯一的。b.所有的键必须支持“==”和“!=”操作符的类型,切片、函数...原创 2019-01-14 02:24:41 · 343 阅读 · 0 评论 -
Go语言11-复合类型-切片
1.切片的声明var s1 []elementTypea."[]"内部没有任何符号,也没有空格b."[]"后面紧跟的是切片元素的类型c.切片中的元素类型一致2.控切片如果一个切片声明却没有初始化,那么这个切片叫做空切片。空切片没有被分配内存空间,所以不能对空切片赋值package mainimport "fmt"func main() { var s1 [...原创 2019-01-13 18:56:42 · 264 阅读 · 0 评论 -
Go语言1-环境搭建
安装 GoGo 的官方网站:http://golang.org/(需要FQ软件)国内下载地址:http://www.golangtc.com/download)下载对应平台的安装包。注意区分32位还是64位操作系统。安装包下载完成之后,安装过程很简单,傻瓜式下一步到底就好了。linux环境解压缩安装包,然后复制到想要存放的目录就可以。Go 环境变量安装go 的时候,安装...原创 2019-01-07 11:52:30 · 129 阅读 · 1 评论 -
Go语言2-HelloWorld
package mainimport “fmt”func main() {fmt.Println(“Hello”)}书写规范要求:a.受字母大写的可以由包外访问,首字母小写的只能在包内访问。b.句尾不需要“;”结尾,如果一行有多个语句,用“;”隔开c."{"必须和“func"同行d.所有标点符合必须是英文格式...原创 2019-01-07 12:05:13 · 100 阅读 · 0 评论 -
Go语言3-基本类型
Go语言并不像C++那样声明变量后不进行赋值,变量的值是内存空间的垃圾值,而是会进行初始化,就是所谓的零值。变量声明后,不进行 赋值,则它的值就是零值。 复合类型:指针,数组,切片,字典,结构体,接口,通道。...原创 2019-01-07 12:12:30 · 192 阅读 · 0 评论 -
Go语言4-基本语法-变量
变量名 命名规则a.变量名由一个或多个字母、数字、下划线组成的序列;b.第一个字符必须是字母或下划线,不能是数字;c.区分大小写:myVar 和myvar 是不同的变量名。 命名风格大驼峰:用大写字母分隔语义,首字母大写:HelloWorld小驼峰:用大写字母分隔语义,首字母小写:helloWorld 单变量的声明与赋值 序号 描述 ...原创 2019-01-07 14:20:22 · 102 阅读 · 0 评论 -
Go语言9-复合类型-指针
1基本概念 定义 描述 指针(内存地址) 计算机里每个内存单元的地址码 指针变量 存放该地址的变量 空指针 被定义后没有分配任何变量的地址的指针 package mainimport "fmt"func main() { a := 220 fmt.Printf("a = %d\n", a) //%d: 以十进制方式格式化输出整数 ...原创 2019-01-12 19:53:12 · 142 阅读 · 1 评论 -
Go语言10-复合类型-数组
1.数组额定义和基本要素a.数组是一系列已编号,长度固定的同一类型数据项序列。b.数组中包含的每个数据被称为数组元素,元素类型可以为整形、字符型或者自定义类型。c.数组长度可以为一个常量或常量表达式,可以通过内置函数len()或者cap()得到数组长度(元素数量)。2.数组的声明var 数组变量名 [数组长度]数组元素类型a.需要指定元素类型及元素个数b.数组长度必须是...原创 2019-01-12 21:13:32 · 172 阅读 · 0 评论 -
Go语言5-基本语法-常量
单个常量的声明且赋值 序号 描述 示例 1 显式声明 const a int = 10 2 隐式声明,自动推导类型 const a = 10 多个常量声明且赋值序号 描述 示例 1 类型相同,显式类型 const a, b, c int= 1, 2, 3 2 类型相同,隐式推导 const a, b...原创 2019-01-07 23:19:31 · 109 阅读 · 0 评论 -
Go语言6-基本语法-运算符
A,B:=10,201,算数运算符运算符 描述 示例 结果 + 相加 A+B 30 - 相减 A-B -10 * 相乘 A*B 200 / 相除 B/A 2 % 求余 B%A 0 ++ 自增 A++ 11 -- 自减 A--...原创 2019-01-08 00:23:07 · 126 阅读 · 0 评论 -
Go语言20-高级——常用工具包
文章目录常用工具包fmt.Println()fmt.Printf()reflect1 反射的定义2 反射包3 Go语言的反射餐定律3.1 反射定律一3.2 反射定律二3.3 反射定律三常用工具包场景对应的包格式化输出fmt字符串处理strings strconv正则表达式regexpJSON处理json文件操作os、io排序算法so...原创 2019-01-16 05:44:30 · 686 阅读 · 0 评论