练习 1.1: 修改echo程序,使其能够打印os.Args[0],即被执行命令本身的名字。
package main
import (
"fmt"
"os"
)
func main() {
//定义两个string类型的变量
var s, sep string
//循环,每次加一个,空格隔开
//修改:将1改为0,名字是0对应的
for i:=0; i<len(os.Args); i++{
s += sep + os.Args[i]
sep = " "
}
//输出
fmt.Println(s)
}
//我觉得可以这样解决
package main
import "fmt"
func main(){
fmt.Println(os.Args[0:])
fmt.Println(os.Args[0])
}
练习 1.2: 修改echo程序,使其打印每个参数的索引和值,每个一行。
package main
import "fmt"
func main() {
//使用range函数,从1开始,获取索引和值并打印
for k,v := range os.Args[1:]{
fmt.Println(k,v)
}
}
练习 1.3: 做实验测量潜在低效的版本和使用了strings.Join的版本的运行时间差异。(1.6节讲解了部分 time 包,11.4节展示了如何写标准测试程序,以得到系统性的性能评测。)