2016-03-13 59 views
-2

我想從控制檯獲取文件路徑並檢查文件是否爲vm文件。 我寫了這段代碼:Go(Golang) - 檢查文件擴展名在Go中不工作

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") 
} 

但它不工作。我剛開始學習去所以請接受我的道歉,如果這是一個基本的錯誤。

+1

trimspace對於一個簡單的用例這樣的,我覺得[bufio.Scanner(https://golang.org/pkg/bufio/#Scanner)更方便使用。 –

回答

2

path, _ := reader.ReadString('\n')也返回換行符。所以你用「.vm」比較「.vm \ n」。

你應該從路徑if filepath.Ext(strings.TrimSpace(path)) != ".vm" {