gopl-note

module
v0.0.0-...-13c1b31 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 24, 2020 License: MIT

README

gopl-Note

Some demo about The Go Programming Language / Go语言圣经当中一些Demo及作业的完成,方便快速回顾 📝

Directories

Path Synopsis
ch1
fetch
Fetch prints the content found at each specified URL.
Fetch prints the content found at each specified URL.
ch2
cf
echo4
Echo4 prints its command-line arguments.
Echo4 prints its command-line arguments.
task/task2-1
练习 2.1: 向tempconv包添加类型、常量和函数用来处理Kelvin绝对温度的转换, Kelvin 绝对零度是−273.15°C,Kelvin绝对温度1K和摄氏度1°C的单位间隔是一样的。
练习 2.1: 向tempconv包添加类型、常量和函数用来处理Kelvin绝对温度的转换, Kelvin 绝对零度是−273.15°C,Kelvin绝对温度1K和摄氏度1°C的单位间隔是一样的。
task/task2-2
练习 2.2: 写一个通用的单位转换程序,用类似cf程序的方式从命令行读取参数 如果缺省的话则是从标准输入读取参数 然后做类似Celsius和Fahrenheit的单位转换,长度单位可以对应英尺和米,重量单位可以对应磅和公斤等。
练习 2.2: 写一个通用的单位转换程序,用类似cf程序的方式从命令行读取参数 如果缺省的话则是从标准输入读取参数 然后做类似Celsius和Fahrenheit的单位转换,长度单位可以对应英尺和米,重量单位可以对应磅和公斤等。
task/task2-3
练习 2.3: 重写PopCount函数,用一个循环代替单一的表达式。
练习 2.3: 重写PopCount函数,用一个循环代替单一的表达式。
task/task2-4
练习 2.4: 用移位算法重写PopCount函数,每次测试最右边的1bit,然后统计总数。
练习 2.4: 用移位算法重写PopCount函数,每次测试最右边的1bit,然后统计总数。
task/task2-5
练习 2.5: 表达式x&(x-1)用于将x的最低的一个非零的bit位清零。
练习 2.5: 表达式x&(x-1)用于将x的最低的一个非零的bit位清零。
ch3
mandebrot
Mandelbrot emits a PNG image of the Mandelbrot fractal.
Mandelbrot emits a PNG image of the Mandelbrot fractal.
surface
Surface computes an SVG rendering of a 3-D surface function.
Surface computes an SVG rendering of a 3-D surface function.
task/task3-1
练习 3.1: 如果f函数返回的是无限制的float64值, 那么SVG文件可能输出无效的多边形元素(虽然许多SVG渲染器会妥善处理这类问题)。
练习 3.1: 如果f函数返回的是无限制的float64值, 那么SVG文件可能输出无效的多边形元素(虽然许多SVG渲染器会妥善处理这类问题)。
task/task3-12
练习 3.12: 编写一个函数,判断两个字符串是否是是相互打乱的,也就是说它们有着相同的字符,但是对应不同的顺序。
练习 3.12: 编写一个函数,判断两个字符串是否是是相互打乱的,也就是说它们有着相同的字符,但是对应不同的顺序。
task/task3-2
练习 3.2: 试验math包中其他函数的渲染图形。
练习 3.2: 试验math包中其他函数的渲染图形。
task/task3-3
练习 3.3: 根据高度给每个多边形上色,那样峰值部将是红色(#ff0000),谷部将是蓝色(#0000ff)。
练习 3.3: 根据高度给每个多边形上色,那样峰值部将是红色(#ff0000),谷部将是蓝色(#0000ff)。
task/task3-4
练习 3.4: 参考1.7节Lissajous例子的函数,构造一个web服务器,用于计算函数曲面然后返回SVG数据给客户端。
练习 3.4: 参考1.7节Lissajous例子的函数,构造一个web服务器,用于计算函数曲面然后返回SVG数据给客户端。
task/task3-6
练习 3.6: 升采样技术可以降低每个像素对计算颜色值和平均值的影响。
练习 3.6: 升采样技术可以降低每个像素对计算颜色值和平均值的影响。
task/task3-7
练习 3.7: 另一个生成分形图像的方式是使用牛顿法来求解一个复数方程,例如$z^4-1=0$。
练习 3.7: 另一个生成分形图像的方式是使用牛顿法来求解一个复数方程,例如$z^4-1=0$。
task/task3-9
练习 3.9: 编写一个web服务器,用于给客户端生成分形的图像。
练习 3.9: 编写一个web服务器,用于给客户端生成分形的图像。
ch4
issueshtml
Issueshtml prints an HTML table of issues matching the search terms.
Issueshtml prints an HTML table of issues matching the search terms.
issuesreport
Issuesreport prints a report of issues matching the search terms.
Issuesreport prints a report of issues matching the search terms.
rev
task/task4-1
练习 4.1: 编写一个函数,计算两个SHA256哈希码中不同bit的数目。
练习 4.1: 编写一个函数,计算两个SHA256哈希码中不同bit的数目。
task/task4-10
练习 4.10: 修改issues程序,根据问题的时间进行分类,比如不到一个月的、不到一年的、超过一年。
练习 4.10: 修改issues程序,根据问题的时间进行分类,比如不到一个月的、不到一年的、超过一年。
task/task4-2
练习 4.2: 编写一个程序,默认情况下打印标准输入的SHA256编码,并支持通过命令行flag定制,输出SHA384或SHA512哈希算法。
练习 4.2: 编写一个程序,默认情况下打印标准输入的SHA256编码,并支持通过命令行flag定制,输出SHA384或SHA512哈希算法。
task/task4-3
练习 4.3: 重写reverse函数,使用数组指针代替slice。
练习 4.3: 重写reverse函数,使用数组指针代替slice。
task/task4-4
练习 4.4: 编写一个 rotate 函数,通过一次循环完成旋转。
练习 4.4: 编写一个 rotate 函数,通过一次循环完成旋转。
task/task4-5
练习 4.5: 写一个函数在原地完成消除[]string中相邻重复的字符串的操作。
练习 4.5: 写一个函数在原地完成消除[]string中相邻重复的字符串的操作。
task/task4-7
练习 4.7: 修改 reverse 函数用于原地反转 UTF-8 编码的[]byte。
练习 4.7: 修改 reverse 函数用于原地反转 UTF-8 编码的[]byte。
ch5
ch6
ch8

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL