Go語(yǔ)言獲取文件的名稱、前綴、后綴
示例代碼:
package main
import (
"fmt"
"path"
)
func main() {
filename := "device/sdk/CMakeLists.txt"
filenameall := path.Base(filename)
filesuffix := path.Ext(filename)
fileprefix := filenameall[0:len(filenameall) - len(filesuffix)]
//fileprefix, err := strings.TrimSuffix(filenameall, filesuffix)
fmt.Println("file name:", filenameall)
fmt.Println("file prefix:", fileprefix)
fmt.Println("file suffix:", filesuffix)
}
執(zhí)行結(jié)果:
file name: CMakeLists.txt
file prefix: CMakeLists
file suffix: .txt
path.Base(filename) 獲取不包含目錄的文件名
path.Ext(filename) 獲取文件后綴
文件前綴 可以使用切片的方式獲?。?/h2>
fileprefix := filenameall[0:len(filenameall) - len(filesuffix)]
也可以使用 strings.TrimSuffix() 進(jìn)行獲取:
import "strings"
fileprefix, err := strings.TrimSuffix(filenameall, filesuffix)
fileprefix := filenameall[0:len(filenameall) - len(filesuffix)]
import "strings" fileprefix, err := strings.TrimSuffix(filenameall, filesuffix)
補(bǔ)充:golang 判斷前綴后綴、包含關(guān)系
HasPrefix 判斷字符串 s 是否以 prefix 開(kāi)頭:
strings.HasPrefix(s, prefix string) bool
HasSuffix 判斷字符串 s 是否以 suffix 結(jié)尾:
strings.HasSuffix(s, suffix string) bool
字符串包含關(guān)系
Contains 判斷字符串 s 是否包含 substr :
strings.Contains(s, substr string) bool
測(cè)試源碼:
package main
import (
"fmt"
"strings"
)
func main() {
var str1 string = "This is an example of a string"
var str2 string = "this is an "
var str3 string = " of a string"
fmt.Println(strings.HasPrefix(str1, str2))
fmt.Println(strings.HasSuffix(str1, str3))
}
運(yùn)行結(jié)果:
[root@localhost golang]# go run zzz.go
false
true
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
Golang實(shí)現(xiàn)http server提供壓縮文件下載功能
這篇文章主要介紹了Golang實(shí)現(xiàn)http server提供壓縮文件下載功能,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
Golang實(shí)現(xiàn)HTTP編程請(qǐng)求和響應(yīng)
本文主要介紹了Golang實(shí)現(xiàn)HTTP編程請(qǐng)求和響應(yīng),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08
一文帶你了解Go語(yǔ)言實(shí)現(xiàn)的并發(fā)神庫(kù)conc
前幾天逛github發(fā)現(xiàn)了一個(gè)有趣的并發(fā)庫(kù)-conc,這篇文章將為大家詳細(xì)介紹一下這個(gè)庫(kù)的實(shí)現(xiàn),文中的示例代碼講解詳細(xì),感興趣的可以了解一下2023-01-01
golang通過(guò)cgo調(diào)用C++庫(kù)源碼示例
這篇文章主要給大家介紹了關(guān)于golang通過(guò)cgo調(diào)用C++庫(kù)的相關(guān)資料,CGO是GO語(yǔ)言里面的一個(gè)特性,CGO屬于GOLANG的高級(jí)用法,主要是通過(guò)使用GOLANG調(diào)用CLANG實(shí)現(xiàn)的程序庫(kù),需要的朋友可以參考下2024-02-02

