Go語言(工程和包)

來源:互聯網
上載者:User

在Go語言中,包是函數與資料的集合,用package定義一個包,包的名字不一定要跟檔案名稱字一樣,接下來,將學習如何使用Go語言的包。

 

首先,我們建立一個Stack包,然後用一個主程式來調用這個包裡面的方法。這實際上涉及到Go語言中的工程的分包和編譯。Go語言是這麼來配置它的工程的,如下圖

 

    

 

其中package是工程的根目錄,我們需要事先設定環境變數GOPATH,如下

 

   

 

而bin目錄和pkg目錄是go編譯自動產生的,而src是手動建立的。所以建立工程的步驟大致是

 

(1)進入到package目錄,即工程根目錄

(2)執行mkdir src,建立一個src源檔案存放目錄

(3)在源檔案目錄中建立一個stack包,即mkdir stack

(4)再建立一個test包,用於測試stack的功能,此包中為主程式

(5)在src目錄下,執行go install stack,在src外產生了pkg檔案夾,linux_386代表執行平台

(6)在src目錄下,執行go install test,在src外產生了bin檔案夾,裡面得到的就是可執行檔了

 

以上就是Go語言的工程構建步驟與注意事項,注意一定不要忘了GOPATH的設定

 

如果需要查看Go語言相關的環境變數,使用命令go env即可,如下

 

 

 

接下來貼上stack.gotest.go檔案的代碼。

 

stack.go

package stackimport ("strconv"//此包提供了基礎資料型別 (Elementary Data Type)轉化為字串,或者由字串轉化為基礎資料型別 (Elementary Data Type))type Stack struct {i intdata [20]int}func (s *Stack) Push(k int){s.data[s.i] = ks.i++}func (s *Stack) Pop(ret int) {s.i--ret = s.data[s.i]}func (s *Stack) String() string {var str stringfor i := 0; i < s.i; i++ {str = str + "[" + strconv.Itoa(i) + ":" + strconv.Itoa(s.data[i]) + "]"}return str}


test.go

package mainimport ("fmt"    "stack")func main(){var st = new(stack.Stack)st.Push(1)st.Push(2)st.Push(3)fmt.Println(st)}


以上就是對Go語言工程以及包的使用的介紹。

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.