为了账号安全,请及时绑定邮箱和手机立即绑定

有没有办法避免编写子模块名称

有没有办法避免编写子模块名称

Go
一只萌萌小番薯 2022-06-13 10:16:38
如果我有以下情况:|--main.go|--models     |-- defenitions.go在definistions.go我有以下内容:package modelstype Person struct {     name  string     age   uint}如果我想打电话Person,main.go我必须使用它;package mainimport "models"func main(){     p := models.Person{name: "Karam", age: 5}}有没有办法避免提及models.Person{...}并且只能使用Person{...}
查看完整描述

2 回答

?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

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

不。

(好吧,从技术上讲这是错误的,但是编写 models.Person在每种情况下都是正确的import . "models"(包括你的!),你永远不应该使用像 . 这样的点导入。如果你这样做,每个人都会讨厌你。)


查看完整回答
反对 回复 2022-06-13
?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

正如@Volker 所指出的那样,试图表示models.Person{...} asPerson{...}实际上是没有意义的。


如果你关心的是更长的包名,你总是可以使用导入别名,如下面的代码所示


package main

import m "models"


func main(){

     p := m.Person{name: "Karam", age: 5}

}


查看完整回答
反对 回复 2022-06-13
  • 2 回答
  • 0 关注
  • 136 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号