GO語言導(dǎo)入自己寫的包(同級(jí)目錄和不同目錄)
作為自學(xué)小白,困擾了我好久的問題,解決這個(gè)問題后,記錄該文章 用以幫助后續(xù)剛?cè)腴T的朋友
一、在GOPATH環(huán)境變量里的src文件下創(chuàng)建一個(gè)練習(xí)文件test2(不能含有下劃線)
二、創(chuàng)建一個(gè)主函數(shù)main.go(每一個(gè)項(xiàng)目中都必須有一個(gè)main包),say.go(用于展示同級(jí)目錄),calc文件夾,且calc文件夾內(nèi)創(chuàng)建一個(gè)calc.go(用于展示不同級(jí)目錄)
1、調(diào)用同級(jí)目錄的方法
項(xiàng)目結(jié)構(gòu)如下圖
在main.go中代碼如下
package main //每個(gè)程序必須要有的一個(gè)包 main import "fmt" func main() { fmt.Println("我是main.go里面的main函數(shù)") }
在say.go中的代碼如下
package main //因?yàn)楹蚼ain.go函數(shù)是同級(jí),所以只能使用和main.go一樣的包名 : main 不然會(huì)找不到 import "fmt" func sayHello() { fmt.Println("我是say.go里面的sayHello函數(shù)") }
這個(gè)時(shí)候 在main.go中的main函數(shù)可以直接調(diào)用同級(jí)目錄say.go中的sayHello函數(shù)。輸入同級(jí)代碼時(shí)會(huì)出現(xiàn)提示
在main函數(shù)中直接使用即可 sayHello(),結(jié)果如下
2、調(diào)用不同目錄的包
首先在當(dāng)前的目錄中初始化(該演示項(xiàng)目為test2,在終端中 輸入go mod init '當(dāng)前的項(xiàng)目名'),初始化結(jié)束后,會(huì)發(fā)現(xiàn)在項(xiàng)目中多了一個(gè)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 } //方法名的首字母為小寫,意味著只能讓同一個(gè)包名的使用(私有) func minus(a,b int) int { return a - b }
在main.go中引入calc文件夾里的包
package main //每個(gè)程序必須要有的一個(gè)包 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ù)就會(huì)報(bào)錯(cuò) fmt.Printf("result:%d", result) }
至此 調(diào)用同級(jí)目錄和不同級(jí)目錄的包 就成功實(shí)現(xiàn)了
到此這篇關(guān)于GO語言導(dǎo)入自己寫的包(同級(jí)目錄和不同目錄)的文章就介紹到這了,更多相關(guān)GO語言導(dǎo)入自己寫的包內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Go并發(fā):使用sync.WaitGroup實(shí)現(xiàn)協(xié)程同步方式
這篇文章主要介紹了Go并發(fā):使用sync.WaitGroup實(shí)現(xiàn)協(xié)程同步方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-05-05go語言題解LeetCode674最長(zhǎng)連續(xù)遞增序列
這篇文章主要為大家介紹了go語言題解LeetCode674最長(zhǎng)連續(xù)遞增序列示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12Go語言如何高效的進(jìn)行字符串拼接(6種方式對(duì)比分析)
本文主要介紹了Go語言如何高效的進(jìn)行字符串拼接(6種方式對(duì)比分析),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08Go中函數(shù)的使用細(xì)節(jié)與注意事項(xiàng)詳解
在Go語言中函數(shù)可是一等的(first-class)公民,函數(shù)類型也是一等的數(shù)據(jù)類型,下面這篇文章主要給大家介紹了關(guān)于Go中函數(shù)的使用細(xì)節(jié)與注意事項(xiàng)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-11-11