golang 去掉后缀的文件名
时间: 2023-05-27 16:02:45 浏览: 571
在 Golang 中,可以使用 path 包中的函数将文件名和后缀分离。具体方法如下:
```go
import "path"
func main() {
fileName := "example.txt"
name := path.Base(fileName) // 获取文件名
ext := path.Ext(name) // 获取文件后缀
fmt.Println(name, ext)
newName := name[:len(name)-len(ext)] // 去掉后缀
fmt.Println(newName)
}
```
注:以上代码未考虑文件名中含有多个 “.” 的情况,如文件名为 “example.test.txt”。如果需要支持这种情况,可以使用 strings.LastIndex 方法获取最后一个 “.” 的位置,再进行分离。
相关问题
golang获取文件后缀
Go语言中获取文件后缀有多种方式,其中一种比较简单的方式是使用path包中的Ext函数,该函数可以返回指定路径文件的后缀名。以下是一个示例代码:
```
package main
import (
"fmt"
"path/filepath"
)
func main() {
filename := "example.txt"
ext := filepath.Ext(filename)
fmt.Println(ext) //输出:.txt
}
```
在上面的代码中,我们定义了一个字符串变量filename,表示要获取后缀的文件名。然后使用filepath包中的Ext函数获取该文件的后缀名,并将其打印输出。
帮我用golang写一个通过文件后缀名判断文件类型的方法
好的,以下是一个使用 Golang 实现的通过文件后缀名判断文件类型的方法:
```go
func getFileTypeBySuffix(fileName string) string {
switch filepath.Ext(fileName) {
case ".jpg", ".jpeg":
return "image/jpeg"
case ".gif":
return "image/gif"
case ".png":
return "image/png"
case ".html", ".htm":
return "text/html"
case ".txt":
return "text/plain"
case ".pdf":
return "application/pdf"
case ".doc", ".docx":
return "application/msword"
case ".xls", ".xlsx":
return "application/vnd.ms-excel"
case ".ppt", ".pptx":
return "application/vnd.ms-powerpoint"
default:
return ""
}
}
```
这个方法接收一个文件名,根据其后缀名返回相应的文件类型。需要注意的是,这种方法并不是百分之百准确的,因为文件后缀名可以被人为地修改。因此,如果需要更加准确地判断文件类型,建议使用前面提到的方法。
阅读全文