登录
首页 >  Golang >  Go问答

是否可以规避指定子模块的命名

来源:stackoverflow

时间:2024-03-25 12:12:35 324浏览 收藏

在 Go 语言中,无法规避指定子模块的命名。若要调用子模块中的类型或函数,必须使用子模块的包名作为前缀。但是,可以使用导入别名来简化调用,避免使用冗长的包名。

问题内容

如果我有以下内容:

|--main.go
|--models
     |-- defenitions.go

definistions.go 中,我有以下内容:

package models
type person struct {
     name  string
     age   uint
}

如果我想在 main.go 上调用 person,我必须使用它;

package main
import "models"

func main(){
     p := models.Person{name: "Karam", age: 5}
}

有没有办法避免提及 models.person{...} 并且只能使用 person{...}


解决方案


正如 @volker 所指出的,试图将 models.person{...} 表示为 person{...} 实际上没有任何意义。

如果您担心较长的包名称,您可以随时使用导入别名,如下面的代码所示

package main
import m "models"

func main(){
     p := m.Person{name: "Karam", age: 5}
}

没有。

(好吧,从技术上讲这是错误的,但是编写 models.person 是在每种情况下(包括您的情况)要做的正确的事情,并且您永远不应该使用像 import 这样的点导入.“models”。如果你这样做,每个人都会恨你。)

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>