我目前正在路径上使用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(类型符文)用作strings.TrimLeft参数中的类型字符串
知道为什么os.PathSeparator
不是字符串?
答案 0 :(得分:3)
因为分隔符实际上只是一个字符。如果你想将它用作字符串,为什么不简单地将它转换为字符串?
strings.TrimLeft("/absolute/path", string(os.PathSeparator))
将返回"absolute/path"
答案 1 :(得分:1)
路径分隔符是单个字符。如果给定常量适合某种类型,则没有理由使用更广泛的类型。
你仍然可以使用os.PathSeparator
进行修剪,你只需要首先从中创建一个字符串。
例如:
fmt.Println(strings.TrimLeft("/foo/bar/baz", string(os.PathSeparator)))
// Outputs: foo/bar/baz