我是靠谱客的博主 奋斗水蜜桃,最近开发中收集的这篇文章主要介绍go mod 下调用本地包本地包位于同一个项目下本地包与项目包同级参考,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

  • 本地包位于同一个项目下
  • 本地包与项目包同级
  • 参考

本地包位于同一个项目下

要调用的本地包位于包内,但不是同一个包名

目录结构
D:.
│  go.mod
│  main.go
│
└─mymod
        sayhimod.go

其中 sayhimod.go 的包名为 mymodmain.go 的包名是 main(和 go.mod 中的 module 相同)

sayhimod.go

package mymod

import "fmt"

func SayHi() {
	fmt.Println("Hi")
}

go.mod

module main

go 1.16

main.go

package main

import (
	// 本地包的引用路径:外层文件的 go.mod 的名字/子目录的包名
	"main/mymod"
)

func main() {
	mymod.SayHi()
}

本地包与项目包同级

目录结构
D:.
├── testmod
│   ├── go.mod
│   └── main.go
└── testmod2
    ├── go.mod
    └── mod2.go

其中 testmod2 是未上传到任何网站和远程库的本地包

/testmod2/go.mod

module testmod2

go 1.16

/testmod2/mod2.go

package testmod2

import "fmt"

func SayHi() {
	fmt.Println("Hi")
}

/testmod/go.mod

module main

go 1.16

require "xxx.com/xxxfile/testmod2" v0.0.0
replace "xxx.com/xxxfile/testmod2" => "../testmod2"

因为 testmod2 并未上传到任何网站(如 github.com),所以我们通过 replace 的方式来引用本地包,更多关于 go mod 的知识,点击这里

/testmod/main.go

package main

import (
	"xxx.com/xxxfile/testmod2"
)

func main() {
	// 通过包名来调用包内的方法
	testmod2.SayHi() // Hi
}

参考

使用go module导入本地包

最后

以上就是奋斗水蜜桃为你收集整理的go mod 下调用本地包本地包位于同一个项目下本地包与项目包同级参考的全部内容,希望文章能够帮你解决go mod 下调用本地包本地包位于同一个项目下本地包与项目包同级参考所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部