好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > golang import自定義包方式

golang import自定義包方式

熱門標簽:外呼系統用什么卡 評價高的400電話辦理 excel地圖標注分布數據 阿克蘇地圖標注 壽光微信地圖標注 外呼系統顯本地手機號 電話機器人軟件免費 百度地圖標注后傳給手機 涿州代理外呼系統

1.初探

剛開始接觸go時,以為import自定義包與Java工程類似,在非GOPATH的路徑中新建了一個go項目HelloGo,如下:

接下來,利用beego的bee工具新建了另一個項目helloapi,如下:

現在,想在helloapi項目中調用HelloGo項目的函數,通過import引入“HelloGo”,編輯器中一直提示無法引用,即使把HelloGo添加到左下角的GOPATH[helloapi]中,也沒有效果。

具體如下:

問題出在HelloGo項目的路徑上,因為其不在系統定義的GOPATH路徑下,查看下系統定義的GOPATH:

localhost:helloapi loongshawn$ echo $GOPATH
/Users/loongshawn/Documents/go/workspace
localhost:helloapi loongshawn$ 

因此,要想引入自定義的包,需要自定義包的路徑為GOPATH路徑中。

2.操作

在工程A中創建方法Say,如下代碼:

package routers
import (
    "fmt"
)

func Say() {
    fmt.Println("引用helloweb項目的Say方法")
}

在工程B中引入工程A,并調用A工程中的Say函數,同時啟動工程A,Console輸出結果如下:

輸出結果顯示,調用Say函數正常。不知大家注意到被調用函數Say的寫法沒有,函數名首字母是大寫的,如果把其換成小寫行不行?

在A工程的router.go中新增了print函數,試一下:

func print() {
    fmt.Println("引用helloweb項目的print方法")
}

B工程中重新引用A工程的print方法,但是引用不了。因此,在寫可調用方法時,方法名首字母需要大寫,這是需要注意的一點。

由于接觸Go不久,許多地方理解不一定到位,如有紕漏之處,請各位同學幫忙指出來,謝謝!

補充:GoLang 自定義包總結

大概總結一下 GoLang 自定義包,并不是需要發布的包,只是一次在代碼工作路徑下調用自定義包的一個嘗試。

今天踩坑就是,以為 import 的時候要填寫文件夾里面的 package 的名稱,比如之前我是這么寫的:

import "./pack/p"

這樣無法通過編譯,這就是本文的由來了

首先,工作的目錄結構是這樣的:

.
├── main.go
└── pack
    └── test.go

1 directory, 2 files

其中,各個文件代碼為:

// main.go
package main
import (
        "fmt"
       "./pack"
)
func main() {
        s := p.Sayhello()
        fmt.Println(s)
}
// pack/test.go
package p
func Sayhello() string {
        return "Hello!"
}

在主目錄下通過 go run 或者 go build 的方法運行或編譯,都是可以通過的。

證明了以下幾點:

import 語句使用的是文件夾的名稱

上面的文件夾名字為 pack

文件夾名稱和 package 名稱不一定一樣

比如 pack 和 p

調用自定義包使用 package.函數名 的方式

p.xxx

自定義包的調用和文件名沒有關系。

test.go 和 p 沒有關系

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • Golang import本地包和導入問題相關詳解
  • Golang import 導入包語法及一些特殊用法詳解
  • 對Golang import 導入包語法詳解
  • golang 之import和package的使用
  • golang中import cycle not allowed解決的一種思路
  • 詳解golang避免循環import問題(“import cycle not allowed”)

標簽:欽州 汕頭 吐魯番 梅河口 蘭州 重慶 銅川 雞西

巨人網絡通訊聲明:本文標題《golang import自定義包方式》,本文關鍵詞  golang,import,自定義,包方式,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《golang import自定義包方式》相關的同類信息!
  • 本頁收集關于golang import自定義包方式的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 巨胸狂喷奶水www嗯啊在线观看| 1204国产成人精品视频| 日本少妇被爽到高潮的动态图| 久久综合结合久久很很很97色| 国产真实乱了老女人视频| 边摸边吃奶一边做爰H漫画软件| 国产精品久久新婚兰兰| 脱美女衣服亲摸揉视频| 国产男女无套?观看91| 一区二区美女视频| 91码无精品秘?入口九色 | 十八禁在线观看完整版| 男生强脱大乳美女的胸罩| 中国老妇xxxx| 日韩欧美中文字幕不卡| 埃及艳后H版成C人版DvD| √天堂亚洲AV国产AV在线| 日本边吃奶边摸边做在线视频| 人体摄影大胆一区| 家有娇妻| 人妻教练HD按摩| 大陆夫妻XXXHD| 甜性涩爱韩国未删在线观看| japanese哺乳期milkxxxx| 亚州中文字幕| 欧洲18至19GAy男同GV片| 美女网站色免费| 性另类交性另类交| 国产a一级久久久黄大片91MV | 亚洲女人被黑人巨大进入| 91久久精品国产91性色tv| 欧美日韩精品少妇无人区网站| 日韩精品一区二区三区电影在线播放 | 亚洲乱色熟女一区二区三区蜜臀| 美女用震蛋叫的视频| 琪琪下片网| 吃乳摸揉gif动态图| 用力?哦?高潮?喷了96| 国产91最新在线| 挑战黑人34厘米巨| 大尺度做爰床戏呻吟免费视频|