新聞中心
這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
創(chuàng)新互聯(lián)GoFrame教程:GoFramegfile-路徑操作
路徑操作
Join

- 說(shuō)明:將多個(gè)字符串路徑通過(guò)`/`進(jìn)行連接。
- 格式:
func Join(paths ...string) string
- 示例:
func ExampleJoin() {
// init
var (
dirPath = gfile.TempDir("gfile_example_basic_dir")
filePath = "file1"
)
// Joins string array paths with file separator of current system.
joinString := gfile.Join(dirPath, filePath)
fmt.Println(joinString)
// Output:
// /tmp/gfile_example_basic_dir/file1
}
Abs
- 說(shuō)明:返回路徑的絕對(duì)路徑。
- 格式:
func Abs(path string) string
- 示例:
func ExampleAbs() {
// init
var (
path = gfile.Join(gfile.TempDir("gfile_example_basic_dir"), "file1")
)
// Get an absolute representation of path.
fmt.Println(gfile.Abs(path))
// Output:
// /tmp/gfile_example_basic_dir/file1
}
RealPath
- 說(shuō)明:獲取給定路徑的絕對(duì)路徑地址。
- 注意:如果文件不存在則返回空。
- 格式:
func RealPath(path string) string
- 示例:
func ExampleRealPath() {
// init
var (
realPath = gfile.Join(gfile.TempDir("gfile_example_basic_dir"), "file1")
worryPath = gfile.Join(gfile.TempDir("gfile_example_basic_dir"), "worryFile")
)
// fetch an absolute representation of path.
fmt.Println(gfile.RealPath(realPath))
fmt.Println(gfile.RealPath(worryPath))
// Output:
// /tmp/gfile_example_basic_dir/file1
//
}
SelfName
- 說(shuō)明:獲取當(dāng)前運(yùn)行程序的名稱(chēng)。
- 格式:
func SelfName() string
- 示例:
func ExampleSelfName() {
// Get file name of current running process
fmt.Println(gfile.SelfName())
// May Output:
// ___github_com_GOgf_gf_v2_os_gfile__ExampleSelfName
}
Basename
- 說(shuō)明:獲取給定路徑中的最后一個(gè)元素,包含擴(kuò)展名。
- 格式:
func Basename(path string) string
- 示例:
func ExampleBasename() {
// init
var (
path = gfile.Pwd() + gfile.Separator + "testdata/readline/file.log"
)
// Get the last element of path, which contains file extension.
fmt.Println(gfile.Basename(path))
// Output:
// file.log
}
Name
- 說(shuō)明:獲取給定路徑中的最后一個(gè)元素,不包含擴(kuò)展名。
- 格式:
func Name(path string) string
- 示例:
func ExampleName() {
// init
var (
path = gfile.Pwd() + gfile.Separator + "testdata/readline/file.log"
)
// Get the last element of path without file extension.
fmt.Println(gfile.Name(path))
// Output:
// file
}
Dir
- 說(shuō)明:獲取給定路徑的目錄部分,排除最后的元素。
- 格式:
func Dir(path string) string
- 示例:
func ExampleDir() {
// init
var (
path = gfile.Join(gfile.TempDir("gfile_example_basic_dir"), "file1")
)
// Get all but the last element of path, typically the path's directory.
fmt.Println(gfile.Dir(path))
// Output:
// /tmp/gfile_example_basic_dir
}
Ext
- 說(shuō)明:獲取給定路徑的擴(kuò)展名,包含`.`。
- 格式:
func Ext(path string) string
- 示例:
func ExampleExt() {
// init
var (
path = gfile.Pwd() + gfile.Separator + "testdata/readline/file.log"
)
// Get the file name extension used by path.
fmt.Println(gfile.Ext(path))
// Output:
// .log
}
ExtName
- 說(shuō)明:獲取給定路徑的擴(kuò)展名,不包含`.`。
- 格式:
func ExtName(path string) string
- 示例:
func ExampleExtName() {
// init
var (
path = gfile.Pwd() + gfile.Separator + "testdata/readline/file.log"
)
// Get the file name extension used by path but the result does not contains symbol '.'.
fmt.Println(gfile.ExtName(path))
// Output:
// log
}
MainPkgPath
- 說(shuō)明:獲取main文件(主入口)所在的絕對(duì)路徑,。
- 注意:
- 該方法僅在開(kāi)發(fā)環(huán)境中可用,同時(shí)僅在源代碼開(kāi)發(fā)環(huán)境中有效,build二進(jìn)制后將顯示源代碼的路徑地址。
- 第一次調(diào)用該方法時(shí),如果處于異步的goroutine中,可能會(huì)無(wú)法獲取主包的路徑
- 格式:
func MainPkgPath() string
- 示例:
func Test() {
fmt.Println("main pkg path on main :", gfile.MainPkgPath())
char := make(chan int, 1)
go func() {
fmt.Println("main pkg path on goroutine :", gfile.MainPkgPath())
char <- 1
}()
select {
case <-char:
}
// Output:
// /xxx/xx/xxx/xx
// /xxx/xx/xxx/xx
}
// 二進(jìn)制包
$ ./testDemo
main pkg path on main : /xxx/xx/xxx/xx
main pkg path on goroutine : /xxx/xx/xxx/xx
文章標(biāo)題:創(chuàng)新互聯(lián)GoFrame教程:GoFramegfile-路徑操作
文章URL:http://www.dlmjj.cn/article/dphhojp.html


咨詢
建站咨詢
