你好,Go

學習教程:Go Web編程.pdf,點擊免費下載。
學習視頻:網易的雲課堂:Go編程基礎

Go基礎系列文檔更多的是記錄我的學習點滴,增強自己的學習效果,可能是很基礎的東西,希望別噴我哦。

在上一篇Go環境安裝我們成功安裝了Go環境,接下來的一步就是寫一個hello world的程序感受感受下Go語言的魅力。

上一篇Go環境安裝中,我們設置了GOPATH的工作目錄,先來看看我的目錄結構。

jindg@nc:~/goWorkProjects/goPath$ tree
.
├── bin//(存放編譯後生成的可執行文件)
│   └── helloworld//本文的小程序go install生產的可執行文件
├── pkg//(存放編譯後生成的包文件)
└── src//(存放項目源碼)
    └── helloworld//本文要講的helloword小程序工程
        └── helloworld.go

上面的目錄結構應該不難看出我是在GOPATH下的src目錄中建我工程。

先來看看hellowold.go源碼

package main

import "fmt"

func main() {
    fmt.Print("hello world! Go!")
}

go程序的一般結構:

  • 通過package來組織的,package main這一行告訴我們當前的文件屬於哪個包,編譯後會生成*.a文件,並放在$GOPATH/pkg/$GOOS_$GOARCH文件夾中;如果爲main包,則告訴我們它是一個可獨立運行包,編譯後會產生可執行文件。
    備註:如果將上面package後面的main改爲test_main,函數main改爲test_main。當前目錄執行go install。然後再來看看pkg的目錄結構:
├── pkg
│   └── linux_amd64
│       └── helloworld.a//與go源文件所在文件名相同,所以我們一般建議package後面的包名跟所在文件名保持一致
  • 每個可獨立運行的Go程序,必定包含一個package main,在這個main包中必定包含一個入口函數main,且這個函數沒有參數,也沒有返回值。這點跟C、java不一樣哎。
  • 我們需要用到某個包的函數時,必須import它,helloworld用到的fmt包的Print函數,因此需要import “fmt”;但是如果用不到某個包,Go絕不允許import它,否則會編譯會報錯,這~~~,要求的確嚴,不過也有好處,不該用的包本身就不應該impot,程序就應該有嚴謹性。
  • fun關鍵字指示這是一個函數,main函數中調用了fmt包的Print函數。

本文的知識點:
1. 工程目錄結構
2. pkg包的生成以及包名跟文件名、package 包名三者的聯繫
3. 入口函數main
4. fun關鍵字

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章