go可以使用相對路徑,import "../somepkg"這種語法可以通過編譯。
成都創(chuàng)新互聯(lián)是一家專注于網(wǎng)站建設、做網(wǎng)站與策劃設計,武岡網(wǎng)站建設哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設十載,網(wǎng)設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:武岡等地區(qū)。武岡做網(wǎng)站價格咨詢:13518219792
但是請考慮一種情境,假設現(xiàn)在工程目錄下四級有一個go文件需要引入工程目錄下一級的包,如果使用相對路徑,這樣寫:
import "../../../pkg"
用$GOPATH,則這樣寫:
import "project/pkg"
你覺得哪種可讀性更強?
另外,不同路徑的源文件,如果引用工程中同一個package,用$GOPATH,都是一樣的:
import "project/pkg"
用相對路徑則可能不同:
import "../pkg" (pkg下一級源文件)
import "../../pkg" (pkg下兩級源文件)
mian.go調用名為"pk"的包
所有文件都在項目目錄"projectfile"下,其中本地包"pk"的文件在"package"目錄下。
使用go mod進行依賴包的管理,因此注意項目根目錄下是否有go.mod,沒有的一定要先go mod init 項目名稱。
import引用時,go.mod把所在目錄作為根目錄,填寫路徑時把相對路徑寫在s5后面。
golang中關于目錄與文件名等操作都在os這個包中,具體的創(chuàng)建目錄都是通過Mkdir和MkdirAll這2個函數(shù)來實現(xiàn)的,這兩個函數(shù)用法一致
os.Mkdir(dirName?string,?perm?FileMode)
dirName即要創(chuàng)建的目錄(文件夾路徑),可以是絕對路徑,也可以是相對路徑(相對于GOPATH)
perm表示創(chuàng)建的目錄的權限,如0777(讀r權限值為4,寫權限w值為2,執(zhí)行權限x值為1)
如:我要在/data/program/goapp這個目錄下創(chuàng)建一個golang這個子目錄,示例如下:
package?main
import?(
"os"
"fmt"
)
func?main()?{
err?:=?os.Mkdir("/data/program/goapp/golang",?0666)
if?err?!=?nil?{
fmt.Println(err)
}
}
注:Mkdir和MkdirAll的區(qū)別
Mkdir創(chuàng)建目錄,它的父級目錄必須是存在的,不然創(chuàng)建會失敗
MkdirAll可以遞歸創(chuàng)建目錄,即只要根目錄存在即可,如下:
err?:=?os.MkdirAll("/data/program/goapp/golang/test/hello",?0766)
if?err?!=?nil?{
fmt.Println(err)
}
本例中:/data/program/goapp是已經(jīng)存在的目錄,而子目錄golang/test/hello是不存在,此時要使用MkdirAll來創(chuàng)建
Go語言模板文件可以引入js文件或css文件,但是在引入的過程中,需要注意以下幾點:
1. 引入的文件路徑應該是相對路徑,而不是絕對路徑。
2. 在引入js文件時,需要使用{{ url }} 模板函數(shù),用來拼接路徑, 這樣可以更好的兼容不同的路徑。
3. 如果是在統(tǒng)一的文件夾中的js文件,最好使用{{ static }}模板函數(shù),這樣可以更好的節(jié)省路徑長度。
4. 在引用js文件時,需要在頁面底部,可以使用{{ template }}模板函數(shù),這樣可以保證js文件在頁面加載完成之前就被加載。
總之,使用Go語言模板文件引入js文件,需要注意路徑的相對性,并且使用模板函數(shù)來拼接路徑,這樣可以更好的兼容不同的路徑,從而保證引用js文件的正確性。
當前名稱:go語言相對路徑 go import 相對路徑
本文來源:http://jinyejixie.com/article32/dohhesc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供App設計、靜態(tài)網(wǎng)站、做網(wǎng)站、ChatGPT、網(wǎng)站營銷、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)