我正在看这段代码:
if len(os.Args) == 1 {
fmt.Printf("usage: %s <whole-number>\n", filepath.Base(os.Args[0]))
os.Exit(1)
}
我明白它的作用。 os.Args
是参数列表。该程序应该从命令行调用,因此它检查所给出的参数是否超过1(第一个是os.Args[0]
是程序的名称本身),如果它没有&#39; t,它退出程序并打印出信息错误。
然而,我并没有真正得到这部分filepath.Base(os.Args[0])
。 filepath.Base
返回文件路径的基础(即其文件名)。但是不是os.Args[0]
已经包含了这个名字吗?那么这个额外的步骤是什么以及为什么有必要呢?
答案 0 :(得分:1)
filepath.Base
返回提供的字符串的最后一个路径元素。 os.Args[0]
可以是单个二进制文件的名称,相对路径或完全限定的路径。这只是一种规范化的方法。