当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


GO Match用法及代码示例


GO语言"path/filepath"包中"Match"函数的用法及代码示例。

用法:

func Match(pattern, name string)(matched bool, err error)

Match 报告 name 是否与 shell 文件名模式匹配。模式语法是:

pattern:
	{ term }
term:
	'*'         matches any sequence of non-Separator characters
	'?'         matches any single non-Separator character
	'[' [ '^' ] { character-range } ']'
	            character class (must be non-empty)
	c           matches character c (c != '*', '?', '\\', '[')
	'\\' c      matches character c

character-range:
	c           matches character c (c != '\\', '-', ']')
	'\\' c      matches character c
	lo '-' hi   matches character c for lo <= c <= hi

匹配需要模式来匹配所有名称,而不仅仅是一个子字符串。当模式格式错误时,唯一可能返回的错误是ErrBadPattern。

在 Windows 上,转义被禁用。相反,'\\' 被视为路径分隔符。

例子:

package main

import (
	"fmt"
	"path/filepath"
)

func main() {
	fmt.Println("On Unix:")
	fmt.Println(filepath.Match("/home/catch/*", "/home/catch/foo"))
	fmt.Println(filepath.Match("/home/catch/*", "/home/catch/foo/bar"))
	fmt.Println(filepath.Match("/home/?opher", "/home/gopher"))
	fmt.Println(filepath.Match("/home/\\*", "/home/*"))

}

输出:

On Unix:
true <nil>
false <nil>
true <nil>
true <nil>

相关用法


注:本文由纯净天空筛选整理自golang.google.cn大神的英文原创作品 Match。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。