文章目錄
Go語言架構
Go語言的基礎組成有以下幾個部分:
-
包聲明
-
引入包
-
函數
-
變量
-
語句&表達式
-
註釋
第一個程序:Hello World
(1) 源代碼
package main
import "fmt"
func main(){
/*這是我的第一個簡單的程序*/
fmt.Println("Hello,World!")
}
(2) 執行go程序
執行Go程序的幾種方式
方式一:使用 go run命令
step1:打開終端:
windows下使用快捷鍵win + R,輸入cmd打開命令提示符
step2:進入helloworld.go所在目錄
step3:輸入go run helloworld.go命令並觀察運行結果
方式二:使用go build命令來生成二進制文件
(3) 代碼解釋
package main
import "fmt"
func main(){
/*這是我的第一個簡單的程序*/
fmt.Println("Hello,World!")
}
第一行代碼package main
第一行代碼package main定義了包名。你必須在源文件中非註釋的第一行指明這個文件屬於哪個包,如:package main。package main表示一個可獨立執行的程序,每個Go應用程序都包含一個名爲main的包。
第二行代碼 import “fmt”
第二行代碼import "fmt"告訴Go編譯器這個程序需要使用fmt包的函數,或其他元素,fmt包實現了格式化IO(輸入/輸出)的函數
第三行代碼 func main()
func main() 是程序開始執行的函數。main()函數是每一個可執行程序所必須包含的,一般來說都是在啓動後第一個執行的函數(如果有init()函數則會先執行該函數).
第四行代碼/*這是我的第一個簡單的程序 */
/* /是註釋,在程序執行時將被忽略。單行註釋是最常見的註釋形式,你可以在任何地方使用以//開頭的單行註釋。多行註釋也叫塊註釋,均以 / * 開頭,並以 */結尾,且不可嵌套使用,多行註釋一般用於包的文檔描述或註釋成塊的代碼片段
第五行代碼 fmt.Println(“Hello,World!”)
fmt.Printfln(“Hello,World!”)可以將字符串輸出到控制檯,並在最後自動增加換行字符\n
使用fmt.Print(“Hello, World!\n”)可以得到同樣的結果。Print和Println這兩個函數也支持變量,如:fmt.Println(arr).如果沒有特別指定,他們會以默認的打印格式將變量arr輸出到控制檯。
補充
當標識符以一個大寫字母開頭,如Group1,那麼使用這種形式的標識符的對象就可以被外部包的代碼所使用(客戶端程序需要先導入這個包),這被稱爲導出(像面嚮對象語言中的public);
標識符如果以小寫字符開頭,則對包外是不可見的,但是它們在整個包的內部是可見並且可用的(像面嚮對象語言的protected)
注意
需要注意的是 { 不能單獨放在一行,所以以下代碼在運行時會產生錯誤
package main
import "fmt"
func main()
{ // 錯誤,{ 不能在單獨的行上
fmt.Println("Hello, World!")
}
import
import "fmt"告訴Go編譯器這個程序需要使用fmt包的函數,fmt包實現了格式化IO(輸入/輸出的函數,可以是相對路徑也可以是絕對路徑,推薦使用絕對路徑(起始於工程根目錄)
-
點操作
我們有時候會看到如下的方式導入包
import( . "fmt" )
這個點操作的含義就是這個包導入之後在你調用這個包的函數時,你可以省略前綴的包名,也就是前面你調用的fmt.Println(“hello world”)可以省略寫成Println(“hello world”)
-
別名操作
別名操作顧名思義我們可以把包命名成另一個我們用起來容易記憶的名字
import( f "fmt" )
別名操作的話,調用包函數時前綴變成了我們的前綴,即f.Printlln(“hello world”)