摘要:
源地址 https://tour.go-zh.org/methods/20 一、题目描述 从之前的练习中复制 Sqrt 函数,修改它使其返回 error 值。 Sqrt 接受到一个负数时,应当返回一个非 nil 的错误值。复数同样也不被支持。 创建一个新的类型 并为其实现 方法使其拥有 error 阅读全文
摘要:
源地址 https://tour.go-zh.org/methods/18 一、题目描述 通过让 IPAddr 类型实现 fmt.Stringer 来打印点号分隔的地址。 例如,IPAddr{1, 2, 3, 4} 应当打印为 "1.2.3.4"。 二、题目分析 设置IPAddr类型; 借助fmt. 阅读全文
摘要:
源地址 https://tour.go-zh.org/moretypes/23 一、题目描述 实现 WordCount。它应当返回一个映射,其中包含字符串 s 中每个“单词”的个数。函数 wc.Test 会对此函数执行一系列测试用例,并输出成功还是失败。 你会发现 strings.Fields 很有 阅读全文
摘要:
源地址 https://tour.go-zh.org/moretypes/11 一、描述 切片拥有 长度 和 容量。 切片的长度就是它所包含的元素个数。 切片的容量是从它的第一个元素开始数,到其底层数组元素末尾的个数。 切片 s 的长度和容量可通过表达式 len(s) 和 cap(s) 来获取。 你 阅读全文
摘要:
源地址 https://tour.go-zh.org/methods/4 一、描述 你可以为指针接收者声明方法。 这意味着对于某类型 T,接收者的类型可以用 *T 的文法。(此外,T 不能是像 *int 这样的指针。) 例如,这里为 *Vertex 定义了 Scale 方法。 指针接收者的方法可以修 阅读全文
摘要:
源地址 https://tour.go-zh.org/moretypes/26 一、题目描述 让我们用函数做些好玩的事情。 实现一个 fibonacci 函数,它返回一个函数(闭包),该闭包返回一个斐波纳契数列 `(0, 1, 1, 2, 3, 5, ...)`。 二、题目分析 要实现一个fibon 阅读全文