《go语言圣经》练习答案--第四章 练习4.1: 编写一个函数,计算两个SHA256哈希码中不同bit的数目。 思路:首先进行按位异或,异或之后二进制序列相同的为 0,不同的为 1,这样就又转换为求二进制中 1 的个数。 packagemainimport("crypto/sha256""fmt")varpc [256]bytefuncinit(){fori :=rangepc { pc[i]...
《go语言圣经》练习答案--1.2. 命令行参数 练习1.1:修改echo程序,使其能够打印os.Args[0],即被执行命令本身的名字。 packagemainimport("fmt""os")funcmain(){vars, sepstringfori :=0; i <len(os.Args); i++ { s += sep + os.Args[i] sep =" "} fmt.Println(s) } 练习1.2:修改echo程序,...
[图片] go 语言圣经(The Go Programming Language)练习题答案 前言 go 语言圣经是一本 go 入门非常不错的书籍,翻译至 The Go Programming Language,本文记录该书章节后练习题答案 中文 pdf 获取地址 1 中文 pdf 获取地址 2 英文原版获取地址 中文
packagemainimport("fmt")varprereqs =map[string][]string{"算法": {"数据结构"},"微积分": {"线性代数"},"编译器": {"数据结构","形式语言","计算机组成", },"数据结构": {"离散数学"},"数据库": {"数据结构"},"离散数学": {"编程入门"},"形式语言": {"离散数学"},"计算机网络": {"操...
《go语言圣经》练习答案--第二章 2.6. 包和文件 练习2.1:向tempconv包添加类型、常量和函数用来处理Kelvin绝对温度的转换,Kelvin 绝对零度是−273.15°C,Kelvin绝对温度1K和摄氏度1°C的单位间隔是一样的。 tempconv.go 用来存放变量的声明、对应的常量,还有方法。
《go语言圣经》练习答案--1.3. 查找重复的行 练习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 from a list of named files.packagemainimport("bufio""fmt""os")funcmain(...
《go语言圣经》练习答案--第七章 练习7.1:使用来自ByteCounter的思路,实现一个针对对单词和行数的计数器。你会发现bufio.ScanWords非常的有用。 packagemainimport("bufio""bytes""fmt")typeByteCounterintfunc(c *ByteCounter)Write(p []byte) (int,error) {...
《go语言圣经》练习答案--第三章 练习3.10: 编写一个非递归版本的comma函数,使用bytes.Buffer代替字符串链接操作。 funccomma(sstring)string{ n :=len(s)ifn <=3{returns }varbuf bytes.Buffer quotient := n /3remainder := n %3buf.WriteString(s[:remainder])fori :=0; i < quotient; i++ {...
练习1.12:修改Lissajour服务,从URL读取变量,比如你可以访问http://localhost:8000/?cycles=20这个URL,这样访问可以将程序里的cycles默认的5修改为20。字符串转换为数字可以调用strconv.Atoi函数。你可以在godoc里查看strconv.Atoi的详细说明。 packagemainimport("image""image/color""image/gif""io""math""math/ra...