![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Go语言圣经
Go语言圣经
了-凡
分享、感恩、努力、学习、坚持、梦想
还有请叫我小黄^O^
展开
-
Go:反射
参考:《Go语言圣经》参考:深度解密Go语言之反射,实际这篇文章主要还是基于下面这个资料整理的,圣经没有讲到底层实现原理。文章目录1、什么是反射2、使用反射和不使用的理由3、反射的实现原理1、types 和 interface2、接口变量声明赋值前后4、反射的基本函数1、TypeOf2、ValueOf()5、Type、Interface、Value互相转换6、反射的实际运用1、json 序列化...原创 2020-03-13 10:51:04 · 207 阅读 · 0 评论 -
Go:测试
文章目录1、go test1、go test原创 2020-03-10 17:12:07 · 184 阅读 · 0 评论 -
Go:包与工具
文章目录1、基本概念2、包和命名3、工具1、命令集合2、工作区结构3、下载包、构建包、包文档4、内部包、查询包1、基本概念Go语言的闪电般的编译速度主要得益于三个语言特性。第一点,所有导入的包必须在每个文件的开头显式声明,这样的话编译器就没有必要读取和分析整个源文件来判断包的依赖关系。第二点,禁止包的环状依赖,因为没有循环依赖,包的依赖关系形成一个有向无环图,每个包可以被独立编译,而且很可...原创 2020-03-06 18:24:27 · 175 阅读 · 0 评论 -
Go:Goroutines和Channels
文章目录1、Goroutines2、Channels1、基本概念2、不带缓存的channels3、串联的Channels4、单方向的channel5、带缓存的Channels1、Goroutines在Go语言中,每一个并发的执行单元叫作一个goroutine。调用Goroutines: go f() // create a new goroutine that calls f(); don...原创 2020-03-06 16:38:06 · 187 阅读 · 0 评论 -
Go:接口
文章目录1、概述2、接口值3、部分常用接口1、sort接口2、http.Handler接口3、error接口4、类型断言5、使用建议1、概述接口写法type ReadWriter interface { //混合写法 Read(p []byte) (n int, err error) //正常方法声明 Writer //接口内嵌} 表达一个类型属于某个接口只要这个类...原创 2020-03-06 14:26:01 · 105 阅读 · 0 评论 -
GO:函数、方法
文章目录1、函数1、基本概念2、错误3、Deferred函数、Panic异常、Recover捕获异常2、方法1、声明2、概念1、函数1、基本概念实参通过值的方式传递,因此函数的形参是实参的拷贝。对形参进行修改不会影响实参。如果实参包括引用类型,如指针,slice(切片)、map、function、channel等类型,实参可能会由于函数的间接引用被修改。没有函数体的函数声明,这表示该函...原创 2020-03-04 16:26:33 · 321 阅读 · 0 评论 -
Go:复合数据类型
文章目录1、数组2、Slice3、Map1、数组数组是一个由固定长度的特定类型元素组成的序列,一个数组可以由零个或多个元素组成。Go语言中很少直接使用数组。和数组对应的类型是Slice(切片),它是可以增长和收缩动态序列,slice功能也更灵活。内置的len函数将返回数组中元素的个数默认情况下,数组的每个元素都被初始化为元素类型 对应的零值如果在数组的长度位置出现的...原创 2020-02-28 18:30:27 · 144 阅读 · 0 评论 -
Go:基础类型和程序结构
文章目录1.命名2.声明3.变量4.赋值1.命名关键字和内建字2.声明var:变量的声明const:常量的声明type:类型的声明func:函数实体对象的声明3.变量变量声明(以字符串为例) var a string = "123" a := "123" var a string a = "123"变量默认值数值类型变量对应的零值是0布尔类型变量对...原创 2020-02-17 18:11:12 · 393 阅读 · 0 评论