Go(Golang) - 检查文件扩展名在Go中不起作用

时间:2016-03-13 14:02:15

标签: file go

我想从控制台获取文件路径,并检查该文件是否为vm文件。 我写了这段代码:

func main() {
reader := bufio.NewReader(os.Stdin)
fmt.Println("Enter the path of the vm file:")
path, _ := reader.ReadString('\n')
if filepath.Ext(path) != ".vm" {
    fmt.Println("Error! file must be vm file")
}

但它没有用。我刚开始学习Go所以如果这是一个基本错误,请接受我的道歉。

2 个答案:

答案 0 :(得分:4)

path, _ := reader.ReadString('\n')也会返回换行符。所以你的比较" .vm \ n"用" .vm"。

你应该从路径if filepath.Ext(strings.TrimSpace(path)) != ".vm" {

修剪空间

答案 1 :(得分:1)

用于检查文件扩展名:

{k:[e[0][1] for e in sorted({f[0][1] : f for f in v}.values(), key = lambda x: x[1])][:n] for k,v in groupby(result_map, lambda x: x[0][0])}