练习

  • 编写一个Go程序,它有三个参数:一个文本文件的名称,和两个字符串。程序应使用第二个字符串替换文件中每次出现的第一个字符串。由于安全原因,最终输出将打印在屏幕上,也就是说原始文本文件将保持完整。
  • 使用encoding/gob包序列化和反序列化Go映射以及结构体的切片。
  • 创建一个Go程序,处理你选择的任意三个信号。
  • Go中创建一个程序,将文本文件中的所有制表符替换为命令行中指定数量的空格符。同样,输出将打印在屏幕上。
  • 开发一个程序,逐行读取文本文件并使用strings.TrimSpace()函数从每一行中删除空格字符。
  • 修改kvSaveLoad.go以支持单个命令行参数,该参数是个文件名,用于加载和保存数据。
  • 你能创建wc(1)程序的Go版本吗?看一下wc(1)的手册页,找到有关命令行选项的信息支持。
  • 修改goFind.go的代码只打印普通文件。这意味着它不应该打印目录、套接字和符号链接。
  • 你能编写一个使用Glot来绘制函数的程序吗?
  • 修改traceSyscall.go以便在跟踪时显示每个系统调用。
  • 修改cat.go仅支持io.Copy(os.Stdout,f),直接复制文件的内容,而不是扫描所有的内容。
  • 你还可以使用bufio.Newscanner()bufio.ScanWords逐字逐句地读一行。了解如何创建一个新版本的byWord.go程序。