3、Go語言基礎結構解析

本系列文章均爲學習過程當中記錄的筆記,歡迎和我一塊兒來學習Go語言。

全文使用環境以下:

  • Go語言版本:1.14
  • 操做系統:deepin
  • 使用工具:Goland開發工具

本篇咱們進行學習Go語言項目基礎結構

咱們在上一節時編寫了第一個Hello World
image.png
這塊代碼咱們從上向下來看。
第一行是package main,這裏是指的包的概念,在go語言中包是表明這個文件夾中全部go代碼的目錄,這裏是main,在Go語言程序中一個可獨立執行的程序必須須要有mian這個包,即package main是咱們整個程序的入口。而咱們平常編寫時會新建各類各樣用途的go文件,咱們一般使用不一樣的文件夾來區分,這時不一樣文件夾中的文件咱們統一採用一種包的命名方式,便於咱們在其餘地方使用。詳細使用方式將在後續的代碼編寫過程當中詳細講解。git

包的命名規範

在咱們平常編寫包名時應使用簡潔、富有含義的名稱,例如咱們這是一個工具包,則使用package utilgithub

導入其餘包

繼續向下看代碼,咱們能夠看到golang

import (
	"fmt"
	"net/http"
)

這裏是導入操做,導入咱們在當前go文件中使用的全部包,在go語言初期時咱們在導入這些包時須要先將其下載到本地,而如今1.14版本中module功能已基本穩定,咱們能夠在這裏直接使用。有一些跑題,module後續咱們也會講到。
迴歸主題,在import的括號中咱們看到裏面包含了兩個包,第一個fmt包是咱們使用的打印包,屬於官方包,第二個是net/http包,是用於http服務器搭建使用的包,一樣屬於官方包。固然咱們還會使用一些其餘第三方的包,例如:「"google.golang.org/grpc"」
這裏咱們是導入兩個以上的包,咱們須要使用(),在咱們平常使用時,若是隻導入一個包,咱們能夠直接寫服務器

import "fmt"

注意,在Go語言語法中,括號永遠都是在代碼後面,而不能換行到新的一行,若是括號在下面,在程序編譯時Go會在括號上面的一行代碼結尾處追加英文分號「;」做爲本行結束。函數

函數聲明

下面進入咱們的main函數,這裏是main包的主入口函數,在咱們啓動Go語言編寫的一個二進制程序時程序會根據main函數進行程序執行,這裏須要講一下,每一個go文件中還有一個init函數,這個函數是第一個執行的,後續在編寫示例時咱們會講到。工具

func main() {
	//打印
	fmt.Println("Hello World")
	/*搭建一個http服務,實現基礎打印*/
	//指定當前目錄爲根目錄
	http.Handle("/", http.FileServer(http.Dir(".")))
	http.HandleFunc("/hello", helloWorld)
	//使用端口8080做爲服務監控端口
	http.ListenAndServe(":8080", nil)
}

每一個函數使用 func 關鍵詞來聲明當前是一個函數,mian是函數名,()是參數,{}中的內容是函數體。
函數命名時須要注意,若是首字母是大寫,則它是一個公共函數,即他人均可以使用,若是是一個小寫,則表示是一個私有函數,只能在本包中使用。
上面函數體中咱們能夠看到fmt.Println("Hello World")做爲打印語句,使用了fmt包中的Println函數,參數是"Hello World",首先咱們上面引入了fmt包,這裏在使用時就須要fmt開頭,讓程序知道咱們要使用這個包了,Println函數的P首字母是大寫,所以咱們這裏能夠直接使用到這個函數,而查看源碼得知,參數能夠任意多個,咱們這裏傳入了一個參數,執行後,控制檯打印了Hello World。
這時有小夥伴問了,我不想用fmt開頭怎麼辦?
Go語言已經設計好了,若是咱們使用其餘名字時只須要在引入包時起一個別名便可學習

import aa "fmt"

這裏咱們就可使用aa.Println("Hello World")做爲打印語句
注意:在go語言中嚴格要求了import的導入行爲,若是咱們在go文件中沒有使用到的包被導入了,默認是會報錯的,所以咱們仍是使用什麼導入什麼吧,別貪圖一時方便各類導入。開發工具

在包的導入這裏還有不少其餘的使用方式,咱們會再後續的代碼編寫過程當中逐漸進行使用,具體使用時再作詳細講解。google

本次基礎結構解析咱們先講到這裏,下一篇咱們會講解在Go語言中的數據類型都有哪些。操作系統

本文聲明:

知識共享許可協議
本做品由 cn華少 採用 知識共享署名-非商業性使用 4.0 國際許可協議 進行許可。

文章中凡是涉及的代碼均在Gitee與GitHub上了,有須要的能夠經過下面的地址下載。

相關文章
相關標籤/搜索