go語言相對路徑 go import 相對路徑

golang為什么不推薦使用相對路徑來import

go可以使用相對路徑,import "../somepkg"這種語法可以通過編譯。

成都創(chuàng)新互聯(lián)是一家專注于網(wǎng)站建設(shè)、做網(wǎng)站與策劃設(shè)計,武岡網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:武岡等地區(qū)。武岡做網(wǎng)站價格咨詢:13518219792

但是請考慮一種情境,假設(shè)現(xiàn)在工程目錄下四級有一個go文件需要引入工程目錄下一級的包,如果使用相對路徑,這樣寫:

import "../../../pkg"

用$GOPATH,則這樣寫:

import "project/pkg"

你覺得哪種可讀性更強(qiáng)?

另外,不同路徑的源文件,如果引用工程中同一個package,用$GOPATH,都是一樣的:

import "project/pkg"

用相對路徑則可能不同:

import "../pkg" (pkg下一級源文件)

import "../../pkg" (pkg下兩級源文件)

Golang-go mod 導(dǎo)入本地包

mian.go調(diào)用名為"pk"的包

所有文件都在項目目錄"projectfile"下,其中本地包"pk"的文件在"package"目錄下。

使用go mod進(jìn)行依賴包的管理,因此注意項目根目錄下是否有g(shù)o.mod,沒有的一定要先go mod init 項目名稱。

import引用時,go.mod把所在目錄作為根目錄,填寫路徑時把相對路徑寫在s5后面。

golang如何創(chuàng)建目錄

golang中關(guān)于目錄與文件名等操作都在os這個包中,具體的創(chuàng)建目錄都是通過Mkdir和MkdirAll這2個函數(shù)來實現(xiàn)的,這兩個函數(shù)用法一致

os.Mkdir(dirName?string,?perm?FileMode)

dirName即要創(chuàng)建的目錄(文件夾路徑),可以是絕對路徑,也可以是相對路徑(相對于GOPATH)

perm表示創(chuàng)建的目錄的權(quán)限,如0777(讀r權(quán)限值為4,寫權(quán)限w值為2,執(zhí)行權(quán)限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路徑問題

Go語言模板文件可以引入js文件或css文件,但是在引入的過程中,需要注意以下幾點:

1. 引入的文件路徑應(yīng)該是相對路徑,而不是絕對路徑。

2. 在引入js文件時,需要使用{{ url }} 模板函數(shù),用來拼接路徑, 這樣可以更好的兼容不同的路徑。

3. 如果是在統(tǒng)一的文件夾中的js文件,最好使用{{ static }}模板函數(shù),這樣可以更好的節(jié)省路徑長度。

4. 在引用js文件時,需要在頁面底部,可以使用{{ template }}模板函數(shù),這樣可以保證js文件在頁面加載完成之前就被加載。

總之,使用Go語言模板文件引入js文件,需要注意路徑的相對性,并且使用模板函數(shù)來拼接路徑,這樣可以更好的兼容不同的路徑,從而保證引用js文件的正確性。

當(dāng)前名稱:go語言相對路徑 go import 相對路徑
本文來源:http://bm7419.com/article32/dohhesc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計、靜態(tài)網(wǎng)站做網(wǎng)站、ChatGPT網(wǎng)站營銷、網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計