一. 設置$GOPATH環境變量
golang和C或php不一樣,不會自" />

goLang引入自定義包的方法

 更新時間:2019-09-09 09:01:39   作者:佚名   我要評論(0)

看完golang的基本語法后,為了模塊化編程,試用了下golang的包管理,結果真踩了幾個坑,總結一下吧。
一. 設置$GOPATH環境變量
golang和C或php不一樣,不會自

看完golang的基本語法后,為了模塊化編程,試用了下golang的包管理,結果真踩了幾個坑,總結一下吧。

一. 設置$GOPATH環境變量

golang和C或php不一樣,不會自動查找當前路徑下的文件,必須先在$GOAPTH里添加自己工程的路徑;

二. 自定義包里面對外提供的API函數,首字母必須大寫

如:func api() string {return “hello api!”}則不能被包外的函數檢測到;

應改為:func Api() string {return “hello api!”}

三. 包的編譯和安裝

包的.go文件必須存放在一個獨立的文件夾下(如test)。

然后對test文件夾使用 go build 和 go install 命令:之后在$GOPATH下添加生成pkg文件夾,文件夾下則生成test.a文件(因此,包文件的父文件夾名最后和包名一致)

四. 包的使用

生成包的名字和包的真實名字可以不一致;

如目錄結構如下:

project
 >src
  >test
    >my.go
 main.go
 >pkg
  >XXXXXX
    >test.a

my.go的代碼如下:

package my

func Test() string{ return "my.test"}

main.go的代碼如下:

package my
import(
  "fmt"
  "test"
)

func main(){
  fmt.println(my.Test()); //可見這里使用“my”和import “test”不一致;
}

以上這篇goLang引入自定義包的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:

  • Golang中的自定義函數詳解
  • golang對自定義類型進行排序的解決方法
  • Go語言之自定義集合Set

相關文章

  • goLang引入自定義包的方法

    goLang引入自定義包的方法

    看完golang的基本語法后,為了模塊化編程,試用了下golang的包管理,結果真踩了幾個坑,總結一下吧。 一. 設置$GOPATH環境變量 golang和C或php不一樣,不會自
    2019-09-09
  • go時間/時間戳操作大全(小結)

    go時間/時間戳操作大全(小結)

    基本操作 01: 獲取當前時間 dateTime := time.Now() fmt.Println(dateTime) 02: 獲取年 月 日 時 分 秒 納秒 year := time.Now().Year() //年 fmt.P
    2019-09-09
  • golang gorm中格式化時間問題詳解

    golang gorm中格式化時間問題詳解

    前言 最近在開發項目時遇到了發現一個問題, gorm雖然可以自動幫你維護 created_at、updated_at、deleted_at這些關鍵時間字段。但是其原理與弊端需要了解一
    2019-09-09
  • Golang TCP粘包拆包問題的解決方法

    Golang TCP粘包拆包問題的解決方法

    什么是粘包問題 最近在使用Golang編寫Socket層,發現有時候接收端會一次讀到多個數據包的問題。于是通過查閱資料,發現這個就是傳說中的TCP粘包問題。下面
    2019-09-09
  • 下載golang.org/x包的操作方法

    下載golang.org/x包的操作方法

    golang.org/x包放到了https://github.com/golang/text中,下載時需要先在本地建立golang.org/x的目錄后,再下載。 mkdir -p golang.org/x git clone https://
    2019-09-09
  • Golang 使用http Client下載文件的實現方法

    Golang 使用http Client下載文件的實現方法

    之前使用beego的http庫的時候,有的情況需要下載文件。beego是能實現,但就是有點問題:不支持回調,沒法顯示下載速度,這在日常開發中是不可忍受的。 看了下be
    2019-09-09
  • 基于Go和Gin的環境配置方法

    基于Go和Gin的環境配置方法

    1.官方下載Go版本,安裝相應平臺的程序。 2.配置Go的環境變量: GOROOT:GO安裝路徑,例如GOROOT = D:\Go GOPATH: 項目源碼所在目錄(例如GOPATH = E:\go),
    2019-09-09
  • golang 檢查網絡狀態是否正常的方法

    golang 檢查網絡狀態是否正常的方法

    如下所示: package main import ( "fmt" "os/exec" "time" ) func NetWorkStatus() bool { cmd := exec.Command("ping", "baidu.com", "-c", "1", "
    2019-09-09
  • gorm golang 并發連接數據庫報錯的解決方法

    gorm golang 并發連接數據庫報錯的解決方法

    底層報錯 error:cannot assign requested address 原因 并發場景下 client 頻繁請求端口建立tcp連接導致端口被耗盡 解決方案 root執行即可 sysctl -w net.
    2019-09-09
  • golang socket斷點續傳大文件的實現方法

    golang socket斷點續傳大文件的實現方法

    在日常編程中,我們肯定會遇到用socket傳送文件內容,如果是大文件的,總不能傳送到一半因某原因斷掉了,又從新傳送文件內容吧。對,我們需要續傳,也就是接著
    2019-09-09

最新評論

黑龙江新11选5开奖结果