我目前在路径上使用strings.TrimLeft(s string, cutset string),并希望传递os.PathSeparator作为第二个参数。
os.PathSeparator在os包中定义如下:
const (
PathSeparator = '\\' // OS-specific path separator
PathListSeparator = ';' // OS-specific path list separator
)当我传递它时,我会得到以下错误:
不能将os.PathSeparator (类型rune)用作strings.TrimLeft参数中的类型字符串
知道为什么os.PathSeparator不是字符串吗?
发布于 2018-02-08 10:47:20
因为分隔符实际上只是一个字符。如果您想将它用作字符串,为什么不直接将其转换为string呢?
strings.TrimLeft("/absolute/path", string(os.PathSeparator))将返回"absolute/path"
发布于 2018-02-08 10:47:27
路径分隔符是单个字符。如果给定的常量适合某一类型,则几乎没有理由使用更广泛的类型。
您仍然可以使用os.PathSeparator进行裁剪,您只需先将其做成一个字符串即可。
例如:
fmt.Println(strings.TrimLeft("/foo/bar/baz", string(os.PathSeparator)))
// Outputs: foo/bar/bazhttps://stackoverflow.com/questions/48683450
复制相似问题