GO語言導入自己寫的包(同級目錄和不同目錄)
作為自學小白,困擾了我好久的問題,解決這個問題后,記錄該文章 用以幫助后續(xù)剛入門的朋友
一、在GOPATH環(huán)境變量里的src文件下創(chuàng)建一個練習文件test2(不能含有下劃線)
二、創(chuàng)建一個主函數(shù)main.go(每一個項目中都必須有一個main包),say.go(用于展示同級目錄),calc文件夾,且calc文件夾內(nèi)創(chuàng)建一個calc.go(用于展示不同級目錄)
1、調(diào)用同級目錄的方法
項目結構如下圖
在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(),結果如下
2、調(diào)用不同目錄的包
首先在當前的目錄中初始化(該演示項目為test2,在終端中 輸入go mod init '當前的項目名'),初始化結束后,會發(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后面的值, / 后面接你要導入的文件夾 //也可以使用 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)了
到此這篇關于GO語言導入自己寫的包(同級目錄和不同目錄)的文章就介紹到這了,更多相關GO語言導入自己寫的包內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Go并發(fā):使用sync.WaitGroup實現(xiàn)協(xié)程同步方式
這篇文章主要介紹了Go并發(fā):使用sync.WaitGroup實現(xiàn)協(xié)程同步方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-05-05