首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Go中使用与包同名的变量名?

如何在Go中使用与包同名的变量名?
EN

Stack Overflow用户
提问于 2011-10-15 02:54:37
回答 2查看 6.2K关注 0票数 16

文件或目录的通用变量名是"path“。不幸的是,这也是Go中的一个包的名称。此外,在DoIt中将path更改为参数名,如何编译此代码?

代码语言:javascript
复制
package main

import (
    "path"
    "os"
)

func main() {
    DoIt("file.txt")
}

func DoIt(path string) {
    path.Join(os.TempDir(), path)
}

我得到的错误是:

代码语言:javascript
复制
$6g pathvar.go 
pathvar.go:4: imported and not used: path
pathvar.go:13: path.Join undefined (type string has no field or method Join)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-15 03:03:56

path string正在隐藏导入的path。您可以通过将import中的行"path"更改为pathpkg "path"来将导入包的别名设置为例如pathpkg,因此代码的开头如下所示

代码语言:javascript
复制
package main

import (
    pathpkg "path"
    "os"
)

当然,然后您必须将DoIt代码更改为:

代码语言:javascript
复制
pathpkg.Join(os.TempDir(), path)
票数 12
EN

Stack Overflow用户

发布于 2011-10-15 16:07:32

代码语言:javascript
复制
package main

import (
    "path"
    "os"
)

func main() {
    DoIt("file.txt")
}

// Just don't introduce a same named thing in the scope
// where you need to use the package qualifier.
func DoIt(pth string) {
    path.Join(os.TempDir(), pth)
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7772229

复制
相关文章

相似问题

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