使用go module导入本地包

go module是Go1.11版本之后官方推出的版本管理工具,并且从Go1.13版本开始,go module将是Go语言默认的依赖管理工具。

前提

假设我们有learngomypackage两个 包,其中learngo包中会导入mypackage包并使用它的全局变量
mypackage/utils.go

package mypackage

var Age int
var Name string

func init() {
	Age = 10
	Name = "tom"
}

同一个项目下调用

注意:在一个项目(project)下我们是可以定义多个包(package)的。
目录结构
现在的情况是,我们在learngo/main.go中调用了mypackage这个包。

learngo
├── go.mod
├── main.go
└── mypackage
    └──utils.go

导入包这个时候,我们需要在learngo/go.mod中按如下定义:

module learngo

go 1.15

然后在learngo/main.go中按如下方式导入mypackage

package main

import (
    "fmt"
    "learngo/mypackage"  // 导入同一项目下的mypackage包
)
func main() {
      fmt.Println("main")
      fmt.Println("age=", mypackage.Age) // 包名.变量名
}
posted @ 2020-12-27 00:49  我在路上回头看  阅读(121)  评论(0编辑  收藏  举报