donglangtun1850 2018-04-10 20:55
浏览 10

从单独的程序包/文件夹导入代码[重复]

This question already has an answer here:

I have this directory layout:

/baba
   biz.go         # package baba
/hello
   foo.go         # package main

biz.go looks like this:

package baba

func Foodd(z int) int {
    return z + 5
}

and foo.go looks like this:

package main

import (
    "fmt"
    "log"
)

func main() {
    log.Fatal(Foodd(3))
}

currently this doesn't compile because Foodd is not recognized. How do I import the baba package in foo.go?

I assume if I compile like so, that it will pull in the right files:

go build foo.go

Or do I need to include the files in the baba package in the go build command? (I would hope not).

</div>
  • 写回答

1条回答 默认 最新

  • doudou8783 2018-04-10 21:05
    关注

    You need to import the baba package in order to use it from your main package. That will look something like:

    package main
    
    import (
        "fmt"
        "log"
    
        "github.com/the1mills/myproject/baba"
    )
    
    func main() {
        log.Fatal(baba.Foodd(3))
    }
    

    Imported packages are referred to by their package name, which is usually, but not always, the last element of the import path.

    Usually, people let goimports handle finding the correct import path and automatically adding it. Your editor of choice probably has goimports integration.

    Also see this answer for some other references and how to set up your directory structure.

    评论

报告相同问题?

悬赏问题

  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 AT89C51控制8位八段数码管显示时钟。
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题