GO語言導入自己寫的包(同級目錄和不同目錄)
作為自學小白,困擾了我好久的問題,解決這個問題后,記錄該文章 用以幫助后續(xù)剛入門的朋友
一、在GOPATH環(huán)境變量里的src文件下創(chuàng)建一個練習文件test2(不能含有下劃線)
二、創(chuàng)建一個主函數main.go(每一個項目中都必須有一個main包),say.go(用于展示同級目錄),calc文件夾,且calc文件夾內創(chuàng)建一個calc.go(用于展示不同級目錄)
1、調用同級目錄的方法
項目結構如下圖

在main.go中代碼如下
package main //每個程序必須要有的一個包 main
import "fmt"
func main() {
fmt.Println("我是main.go里面的main函數")
}
在say.go中的代碼如下
package main //因為和main.go函數是同級,所以只能使用和main.go一樣的包名 : main 不然會找不到
import "fmt"
func sayHello() {
fmt.Println("我是say.go里面的sayHello函數")
}這個時候 在main.go中的main函數可以直接調用同級目錄say.go中的sayHello函數。輸入同級代碼時會出現提示

在main函數中直接使用即可 sayHello(),結果如下

2、調用不同目錄的包
首先在當前的目錄中初始化(該演示項目為test2,在終端中 輸入go mod init '當前的項目名'),初始化結束后,會發(fā)現在項目中多了一個go.mod文件
go mod init test2

打開go.mod文件
module test2 go 1.22.4
在calc文件夾中的calc.go中填寫以下代碼 (注意 共有 和 私有 方法)
package calc //包名最好和文件夾名一致
//方法名的首字母為大寫,意味著可以讓其他目錄調用(共有)
func Add(a, b int) int {
return a + b
}
//方法名的首字母為小寫,意味著只能讓同一個包名的使用(私有)
func minus(a,b int) int {
return a - b
}在main.go中引入calc文件夾里的包
package main //每個程序必須要有的一個包 main
import "fmt"
import "test2/calc" //test2 是go.mod中module后面的值, / 后面接你要導入的文件夾
//也可以使用 improt ("fmt" "test2/calc")
func main() {
fmt.Println("我是main.go里面的main函數")
sayHello()
result := calc.Add(1, 2) //能夠使用calc包里面的共有函數Add;如果使用私有函數就會報錯
fmt.Printf("result:%d", result)
}
至此 調用同級目錄和不同級目錄的包 就成功實現了
到此這篇關于GO語言導入自己寫的包(同級目錄和不同目錄)的文章就介紹到這了,更多相關GO語言導入自己寫的包內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Go并發(fā):使用sync.WaitGroup實現協程同步方式
這篇文章主要介紹了Go并發(fā):使用sync.WaitGroup實現協程同步方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-05-05

