首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >osPathSeparator的类型为rune,但希望用作字符串。

osPathSeparator的类型为rune,但希望用作字符串。
EN

Stack Overflow用户
提问于 2018-02-08 10:39:16
回答 2查看 3.4K关注 0票数 0

我目前在路径上使用strings.TrimLeft(s string, cutset string),并希望传递os.PathSeparator作为第二个参数。

os.PathSeparatoros包中定义如下:

代码语言:javascript
复制
const (
    PathSeparator     = '\\' // OS-specific path separator
    PathListSeparator = ';'  // OS-specific path list separator
)

当我传递它时,我会得到以下错误:

不能将os.PathSeparator (类型rune)用作strings.TrimLeft参数中的类型字符串

知道为什么os.PathSeparator不是字符串吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-02-08 10:47:20

因为分隔符实际上只是一个字符。如果您想将它用作字符串,为什么不直接将其转换为string呢?

代码语言:javascript
复制
strings.TrimLeft("/absolute/path", string(os.PathSeparator))

将返回"absolute/path"

票数 8
EN

Stack Overflow用户

发布于 2018-02-08 10:47:27

路径分隔符是单个字符。如果给定的常量适合某一类型,则几乎没有理由使用更广泛的类型。

您仍然可以使用os.PathSeparator进行裁剪,您只需先将其做成一个字符串即可。

例如:

代码语言:javascript
复制
fmt.Println(strings.TrimLeft("/foo/bar/baz", string(os.PathSeparator)))
// Outputs: foo/bar/baz
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48683450

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档