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

如果我有以下情况:


|--main.go

|--models

     |-- defenitions.go

在definistions.go我有以下内容:


package models

type Person struct {

     name  string

     age   uint

}

如果我想打电话Person,main.go我必须使用它;


package main

import "models"


func main(){

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

}

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


一只萌萌小番薯
浏览 140回答 2
2回答

尚方宝剑之说

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

凤凰求蛊

正如@Volker 所指出的那样,试图表示models.Person{...} asPerson{...}实际上是没有意义的。如果你关心的是更长的包名,你总是可以使用导入别名,如下面的代码所示package mainimport m "models"func main(){     p := m.Person{name: "Karam", age: 5}}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go