年度归档: 2019年

25 篇文章

Go语言还未入门就放弃之输入输出fmt
格式化输出 在print.go文件中,定义了如下输出函数,可类比C语言里面的输出函数: func Printf(format string, a ...interface{}) (n int, err error) func Fprintf(w io.Writer, format string, a ...interface{}) (n int, …
Go语言还未入门就放弃之字符串string
初始化 str := "Hello World! \n Hello Gopher! \n" 使用双引号初始化,会自动转义符。 str := `Hello World! \n Hello Gopher! \n` 使用反引号初始化,相关的转义字符不会被替换。哈哈哈,可惜不能在里面跟JavaScript一样使用${var}…
Go语言还未入门就放弃之切片slice
内部实现 对数组进行抽象封装,可以动态增长,类似C++里面的vector。切片有 3 个字段的数据结构。分别是指向底层数组的指针、切片访问的元素的个数(即长度)和切片允许增长到的元素个数(即容量) 声明和初始化 slice := make([]string, 5) 创建一个字符串切片,其长度和容量都是 5 个元素。如果只指定长度,那么切片的容量和长…
Go语言还未入门就放弃之映射map
概览 Map 是一种无序的键值对的集合。Map 最重要的一点是通过 key 来快速检索数据,key 类似于索引,指向数据的值。 Map 是一种集合,所以我们可以像迭代数组和切片那样迭代它。不过,Map 是无序的,我们无法决定它的返回顺序,这是因为 Map 是使用 hash 表来实现的。 通过 key 在 map 中寻找值是很快的,比线性查找快得多,…
Go语言还未入门就放弃之数组array
声明和初始化 var array [5]int 声明一个包含 5 个元素的整型数组,元素默认为零值 array := [5]int{10, 20, 30, 40, 50} 使用数组字面量声明数组 array := [...]int{10, 20, 30, 40, 50} 使用...替代数组的长度,让 Go 自动计算声明数组的长度 array := …