随笔分类 - Go
Golang标准库——io-结构
摘要:结构 LimitedReader 定义 限制从Reader中读取的字节数。 方法 SectionReader 定义 实现了对底层满足ReadAt接口的输入流某个片段的Read、ReadAt、Seek方法. 方法 teeReader 定义 私有结构,需要通过TeeReader函数创建一个teeRead
阅读全文
Golang标准库——io-接口
摘要:接口 Read相关 Reader Reader接口用于包装基本的读取方法。 type Reader interface { //将数据读入到p中,直到读满p或者读取的过程中遇到错误,此时返回的n
阅读全文
GO入门——7. 并发
摘要:1 并发 1.1 goroutine Goroutine 奉行通过通信来共享内存,而不是共享内存来通信 goroutine 只是由官方实现的超级“线程池”而已。 每个实例 4 5KB 的栈内存占用和由于实现机制而大幅 减少的创建和销毁开销,是制造 Go 号称的高并发的根本原因。 goroutine
阅读全文
GO入门——6. struct与方法
摘要:1 struct Go 中的struct与C中的struct非常相似,并且Go没有class 使用 type struct{} 定义结构,名称遵循可见性规则 支持指向自身的指针类型成员 支持匿名结构,可用作成员或定义成员变量 匿名结构也可以用于map的值 可以使用字面值对结构进行初始化 允许直接通过
阅读全文
GO入门——5. 函数
摘要:1 函数 Go 函数 不支持 嵌套、重载和默认参数 定义函数使用关键字 func,且左大括号不能另起一行 函数也可以作为一种类型使用 无需声明原型 不定长度变参 多返回值 命名返回值参数 匿名函数 闭包 2 defer 执行方式类似其它语言中的析构函数,在函数体执行结束后 按照调用顺序的相反顺序逐个
阅读全文
GO入门——4. 数组、切片与map
摘要:1. 数组 定义数组的格式:var [n],n =0 数组长度也是类型的一部分,因此具有不同长度的数组为不同类型 注意区分指向数组的指针和指针数组 数组在Go中为值类型 数组之间可以使用==或!=进行比较,但不可以使用 可以使用new来创建数组,此方法返回一个指向数组的指针 Go支持多维数组 2.
阅读全文
GO入门——3. 控制语句
摘要:1 if 条件表达式没有括号 支持一个初始化表达式(可以是并行方式) 左大括号必须和条件语句或else在同一行 支持单行模式 初始化语句中的变量为block级别,同时隐藏外部同名变量 2 for Go只有for一个循环语句关键字,但支持3种形式 初始化和步进表达式可以是多个值 条件语句每次循环都会被
阅读全文
GO入门——2. 变量
摘要:1 基本类型 零值并不等于空值,而是当变量被声明为某种类型后的默认值, 通常情况下值类型的默认值为0,bool为false,string为空字符串,引用为nil。 1.1 布尔类型 关键字:bool 长度:1字节 取值范围:true, false 注意事项:不可以用数字代表true或false 默认
阅读全文
GO入门——1.基础
摘要:1 安装配置与命令 GOROOT:Go根目录 GOPATH:GO工作目录,其目录下需要建立一下三个子目录 bin :存放编译后生成的可执行文件 pkg :存放编译后生成的包文件 src :存放项目源码 常用GO命令 go get:获取远程包(需 提前安装 git或hg) go run:直接运行程序
阅读全文