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

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

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

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

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

