摘要: 练习 7.1: 使用来自ByteCounter的思路,实现一个针对对单词和行数的计数器。你会发现bufio.ScanWords非常的有用。 package main import ( "bufio" "bytes" "fmt" ) type ByteCounter int func (c *Byte 阅读全文
posted @ 2022-03-31 18:01 随风而逝的白色相簿 阅读(612) 评论(0) 推荐(0) 编辑
摘要: 练习6.1: 为bit数组实现下面这些方法 func (*IntSet) Len() int // return the number of elements func (*IntSet) Remove(x int) // remove x from the set func (*IntSet) C 阅读全文
posted @ 2022-03-24 11:50 随风而逝的白色相簿 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 练习 5.2: 编写函数,记录在HTML树中出现的同名元素的次数。 package main import ( "fmt" "golang.org/x/net/html" "os" ) func main() { doc, err := html.Parse(os.Stdin) if err != 阅读全文
posted @ 2022-03-22 18:15 随风而逝的白色相簿 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 练习 4.1: 编写一个函数,计算两个SHA256哈希码中不同bit的数目。 思路:首先进行按位异或,异或之后二进制序列相同的为 0,不同的为 1,这样就又转换为求二进制中 1 的个数。 package main import ( "crypto/sha256" "fmt" ) var pc [25 阅读全文
posted @ 2022-03-21 16:19 随风而逝的白色相簿 阅读(632) 评论(2) 推荐(0) 编辑
摘要: 练习 3.10: 编写一个非递归版本的comma函数,使用bytes.Buffer代替字符串链接操作。 func comma(s string) string { n := len(s) if n <= 3 { return s } var buf bytes.Buffer quotient := 阅读全文
posted @ 2022-03-17 15:21 随风而逝的白色相簿 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 2.6. 包和文件 练习 2.1: 向tempconv包添加类型、常量和函数用来处理Kelvin绝对温度的转换,Kelvin 绝对零度是−273.15°C,Kelvin绝对温度1K和摄氏度1°C的单位间隔是一样的。 tempconv.go 用来存放变量的声明、对应的常量,还有方法。 package 阅读全文
posted @ 2022-03-11 16:59 随风而逝的白色相簿 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 练习 1.12: 修改Lissajour服务,从URL读取变量,比如你可以访问 http://localhost:8000/?cycles=20 这个URL,这样访问可以将程序里的cycles默认的5修改为20。字符串转换为数字可以调用strconv.Atoi函数。你可以在godoc里查看strco 阅读全文
posted @ 2022-03-09 17:01 随风而逝的白色相簿 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 练习 1.10: 找一个数据量比较大的网站,用本小节中的程序调研网站的缓存策略,对每个URL执行两遍请求,查看两次时间是否有较大的差别,并且每次获取到的响应内容是否一致,修改本节中的程序,将响应结果输出,以便于进行对比。 package main import ( "fmt" "io" "io/io 阅读全文
posted @ 2022-03-08 18:56 随风而逝的白色相簿 阅读(77) 评论(0) 推荐(0) 编辑
摘要: 练习 1.7: 函数调用io.Copy(dst, src)会从src中读取内容,并将读到的结果写入到dst中,使用这个函数替代掉例子中的ioutil.ReadAll来拷贝响应结构体到os.Stdout,避免申请一个缓冲区(例子中的b)来存储。记得处理io.Copy返回结果中的错误。 package 阅读全文
posted @ 2022-03-08 16:33 随风而逝的白色相簿 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 练习 1.4: 修改dup2,出现重复的行时打印文件名称。 原始 dup2 // Dup2 prints the count and text of lines that appear more than once // in the input. It reads from stdin or fr 阅读全文
posted @ 2022-03-08 14:24 随风而逝的白色相簿 阅读(176) 评论(0) 推荐(0) 编辑