Go语言查看文件后缀名

在Go语言中,我们经常需要操作文件,有时候需要获取文件的后缀名来进行特定的处理。本文将介绍如何使用Go语言来查看文件的后缀名。
1. 使用strings包来查看文件后缀名
Go语言提供了strings包来处理字符串操作,我们可以利用该包中的strings.HasSuffix函数来判断文件名是否具有特定的后缀名。
下面是一个示例代码,演示如何使用strings.HasSuffix函数来查看文件的后缀名:
package main
import (
    "fmt"
    "strings"
)
func main() {
    filename := "example.txt"
    if strings.HasSuffix(filename, ".txt") {
        fmt.Println("The file has .txt extension")
    } else {
        fmt.Println("The file does not have .txt extension")
    }
}
运行上面的代码,如果文件名是example.txt,则输出为:
The file has .txt extension
如果文件名是example.jpg,则输出为:
The file does not have .txt extension
2. 使用path/filepath包来查看文件后缀名
除了使用strings包之外,Go语言还提供了path/filepath包来处理文件路径的操作。我们可以使用该包中的filepath.Ext函数来获取文件的后缀名。
下面是一个示例代码,演示如何使用filepath.Ext函数来查看文件的后缀名:
package main
import (
    "fmt"
    "path/filepath"
)
func main() {
    filename := "example.txt"
    ext := filepath.Ext(filename)
    if ext == ".txt" {
        fmt.Println("The file has .txt extension")
    } else {
        fmt.Println("The file does not have .txt extension")
    }
}
运行上面的代码,如果文件名是example.txt,则输出为:
The file has .txt extension
如果文件名是example.jpg,则输出为:
The file does not have .txt extension
3. 使用正则表达式来查看文件后缀名
如果我们希望支持多种文件后缀名格式,可以使用正则表达式来进行匹配。下面是一个示例代码,演示如何使用正则表达式来查看文件的后缀名:
package main
import (
    "fmt"
    "regexp"
)
func main() {
    filename := "example.txt"
    pattern := `\.txt$`
    matched, err := regexp.MatchString(pattern, filename)
    if err != nil {
        fmt.Println("Error:", err)
        return
    }
    if matched {
        fmt.Println("The file has .txt extension")
    } else {
        fmt.Println("The file does not have .txt extension")
    }
}
运行上面的代码,如果文件名是example.txt,则输出为:
The file has .txt extension
如果文件名是example.jpg,则输出为:
The file does not have .txt extension
通过以上方式,我们可以方便地查看文件的后缀名,从而进行特定的处理。
极客笔记