分类 读书笔记 下的文章

《Go语言圣经》学习笔记:JSON

JavaScript对象表示法(JSON)是一种用于发送和接收结构化信息的标准协议。1. marshaling将一个Go语言中的数据结构转为JSON的过程叫编组(marshaling)。编组通过调用json.Marshal函数完成:package main import ( "encoding/json" "fmt" "log" ) type Movie struct { Title string Year int `json:"released"` ......
<阅读全文>

《Go语言圣经》学习笔记:结构体(struct)

结构体是一种聚合的数据类型,是由零个或多个任意类型的值聚合成的实体。每个值称为结构体的成员。下面两个语句声明了一个叫Employee的命名的结构体类型,并且声明了一个Employee类型的变量dilbert:type Employee struct { ID int Name string Address string DoB time.Time Position string Salary int ManagerID int } var dilbert Employee d ......
<阅读全文>

《Go语言圣经》学习笔记:map

1. map的概念了解Map之前,先了解下哈希表。哈希表是一种巧妙并且实用的数据结构。它是一个无序的key/value对的集合,其中所有的key都是不同的,然后通过给定的key可以在常数时间复杂度内检索、更新或删除对应的value。在Go语言中,一个map就是一个哈希表的引用,map类型可以写为map[K]V,其中K和V分别对应key和value。map中所有的key都有相同的类型,所有的value也有着相同的类型,但是key和value之间可以是不同的数据类型。其中K对应的key必须是支持==比较运算符的数据类型,所以map可以通过测试key是否相等来判断是否已经存在。2. 创 ......
<阅读全文>

《Go语言圣经》学习笔记:Slice

Slice(切片)代表变长的序列,序列中每个元素都有相同的类型,slice的语法和数组很像,只是没有固定长度而已。一个slice由三个部分构成:指针、长度和容量。指针 指向第一个slice元素对应的底层数组元素的地址,要注意的是slice的第一个元素并不一定就是数组的第一个元素。长度 对应slice中元素的数目(长度不能超过容量)。容量 一般是从slice的开始位置到底层数据的结尾位置。1. 关于slice的长度和容量关于长度和容量的理解,可以参考下图:内置的len和cap函数分别返回slice的长度和容量。如果切片操作超出cap(s)的上限将导致一个panic异常,但是超出le ......
<阅读全文>

《GO语言之旅》学习笔记:流程控制语句 - for、if、else、switch 和 defer

Go语言之旅中文网站:Go语言之旅一、for1.1 for 说明Go 只有一种循环结构:for 循环。基本的 for 循环由三部分组成,它们用分号隔开:初始化语句:在第一次迭代前执行条件表达式:在每次迭代前求值后置语句:在每次迭代的结尾执行初始化语句通常为一句短变量声明,该变量声明仅在 for 语句的 作用域 中可见。一旦条件表达式的布尔值为 false,循环迭代就会终止。例子:package main import "fmt" func main() { sum := 0 for i := 0; i < 10; i++ { ......
<阅读全文>