filepath.Base在golang中做了什么

时间:2014-12-22 14:24:31

标签: go

我正在看这段代码:

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]已经包含了这个名字吗?那么这个额外的步骤是什么以及为什么有必要呢?

1 个答案:

答案 0 :(得分:1)

filepath.Base返回提供的字符串的最后一个路径元素。 os.Args[0]可以是单个二进制文件的名称,相对路径或完全限定的路径。这只是一种规范化的方法。