duandao3265 2015-05-03 18:32
浏览 18
已采纳

导入本地包

My project structure looks like this:

--/project
----main.go
----/models
------user.go

In main.go I want to user user.go:

user.go:

package models

type User struct {
    Name string
}

main.go:

package main

import (...)

func main() {
    user := &User{Name: "Igor"}
}

How do I import user.go from main.go?

/project is under GOPATH, so I tried:

import "project/models"

but that does nothing.

  • 写回答

2条回答 默认 最新

  • doulingqiu4349 2015-05-03 19:16
    关注

    Your setup is right, you are using the package wrong.

    change:

    user := &User{Name: "Igor"}
    

    to:

    user := &models.User{Name: "Igor"}
    

    or if you don't want to always say models.XXX, change your import to be.

    import . "project/models"
    

    I do find that doing this makes the code a bit harder to read, long term. It's obvious to the reader where "models.User" comes from, not so much with a plain "User" as normally that means it comes from this package.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 孟德尔随机化怎样画共定位分析图
  • ¥18 模拟电路问题解答有偿速度
  • ¥15 CST仿真别人的模型结果仿真结果S参数完全不对
  • ¥15 误删注册表文件致win10无法开启
  • ¥15 请问在阿里云服务器中怎么利用数据库制作网站
  • ¥60 ESP32怎么烧录自启动程序
  • ¥50 html2canvas超出滚动条不显示
  • ¥15 java业务性能问题求解(sql,业务设计相关)
  • ¥15 52810 尾椎c三个a 写蓝牙地址
  • ¥15 elmos524.33 eeprom的读写问题