包含标签 go 的文章

GO指南 练习:等价二叉查找树

  1. 实现 Walk 函数。

  2. 测试 Walk 函数。

    函数 tree.New(k) 用于构造一个随机结构的已排序二叉查找树,它保存了值 k 、 2k 、 3k ... 10k

    创建一个新的信道 ch 并且对其进行步进:

    go Walk(tree.New(1), ch) 然后从信道中读取并打印 10 个值。应当是数字 1, 2, 3, ..., 10

  3. Walk 实现 Same 函数来检测 t1t2 是否存储了相同的值。

  4. 测试 Same 函数。

……

阅读全文

GO指南 练习:Map

实现 WordCount 。它应当返回一个映射,其中包含每个字符串 s 中“单词”的个数。函数 wc.Test 会对此函数执行一系列测试用例,并输出成功还是失败。

你会发现 strings.Fields 很有帮助。

……

阅读全文

GO指南 练习:rot13Reader

有种常见的模式是一个 io.Reader 包装另一个 io.Reader ,然后通过某种方式修改其数据流。

例如,gzip.NewReader 函数接受一个 io.Reader (已压缩的数据流)并返回一个同样实现了 io.Reader*gzip.Reader (解压后的数据流)。

编写一个实现了 io.Reader 并从==另一个 io.Reader 中读取数据的 rot13Reader== , 通过应用 rot13 代换密码对数据流进行修改。

rot13Reader 类型已经提供。实现 Read 方法以满足 io.Reader

……

阅读全文

GO指南 练习:切片

实现 Pic 。它应当返回一个长度为 dy 的切片,其中每个元素是一个长度为 dx ,元素类型为 uint8 的切片。当你运行此程序时,它会将每个整数解释为灰度值(好吧,其实是蓝度值)并显示它所对应的图像。

……

阅读全文

GO指南 练习:图像

定义你自己的 Image 类型,实现必要的方法并调用 pic.ShowImage

Bounds 应当返回一个 image.Rectangle ,例如 image.Rect(0, 0, w, h)

ColorModel 应当返回 color.RGBAModel

At 应当返回一个颜色。上一个图片生成器的值 v 对应于此次的 color.RGBA{v, v, 255, 255}

……

阅读全文

GO指南 练习:循环与函数

计算机通常使用循环来计算 x 的平方根。从某个猜测的值 z 开始,我们可以根据 z² 与 x 的近似度来调整 z,产生一个更好的猜测:

z -= (z*z - x) / (2*z)
……

阅读全文

GO指南 练习:错误

练习:错误 从之前的练习中(牛顿平方根方法)复制 Sqrt 函数,修改它使其返回 error 值。

Sqrt 接受到一个负数时,应当返回一个非 nil 的错误值。复数同样也不被支持。

……

阅读全文