GO 語言入門(一)
本文寫于 2020 年 1 月 18 日
Go 由 Google 工程師 Robert Griesemer,Rob Pike 和 Ken Thompson 設計的一門編程語言,第一個版本于 2012 年 3 月作為開源發布,
它是一種靜態型別的并發型編譯語言,并具有垃圾回收功能,
Go 語言支持交叉編譯,即可在 Windows 上編譯 Linux 版本、Mac 上編譯 Windows 版本,
Go 的語法接近 C 語言,與 C++相比,Go 并不包括如列舉、例外處理、繼承、泛型、斷言、虛函式等功能,但增加了切片(Slice) 型、并發、管道、垃圾回收功能、介面等特性的語言級支持,
安裝與配置
首先于官網下載對應系統的 Go,并配置環境變數,
環境變數的配置主要有兩點:GOPATH 與 GOROOT,
GOROOT 是 Go 的路徑,而 Go 中的作業空間由環境變數「GOPATH」定義,Go 希望你寫的任何代碼都將寫在此作業區內,
在新版本中,GOPATH 可以有多個,加上 GO111MODULE 的加入,讓初學者超級摸不著頭腦,
因此我們可以先不管 GO111MODULE 和多個 GOPATH 一說,只需要建立一個 GOPATH 用作學習即可,
export PATH="PATH-TO-YOUR-GO/bin:$PATH"
export GOPATH="自定義一個檔案夾,檔案夾下新建 src bin pkg 三個檔案夾"
export PATH="$GOPATH/bin:$PATH"
模塊化
Go 的模塊化宣告類似于 Java,都是以 package xxx 宣告的,
專案必須擁有一個入口檔案,宣告 package 為 main:
// main.go
package main
與 Java 的萬物皆物件類似,我們需要引入一些包實作具體的功能,例如控制臺輸出:
// main.go
package main
import "fmt"
func main(){
fmt.Println("Hello World!")
}
fmt 是 Go 中的內置包,它實作了格式化 I/O 的功能,
如果需要引入多個包時,可以多次書寫 import,或者是分行寫:
import "a"
import "b"
import "c"
// 或者是
import (
"a"
"b"
"c"
)
func 是 go 的函式生命陳述句,main 則是主函式,是 go 運行時第一個執行的函式,
在函式外,go 只能執行少量的陳述句,例如宣告變數、宣告 package、import 包……
運行 go
我們可以通過兩種方式運行 Go 命令,run 與 build,
go run main.go 可以直接運行 Go 程式,
但 Go 是一種編譯語言,所以我們首先需要在執行之前編譯它,
上面這種方法并非沒有編譯,只是幫我們省略了編譯而已,
go build main.go 會幫我們編譯代碼,創建一個二進制可執行檔案 main——在 Windows 上創建的應該是 main.exe,我們運行該可執行檔案,即可運行 Go 程式,
變數宣告
Go 是一種靜態型別的語言,這意味著在宣告變數時我們就需要明確變數的型別,
var 宣告
一般一個變數的定義如下:
var a int
這樣我們就定義好了一個 int 型別的變數 a,默認 a 會被賦值成 0,
自動型別推斷
使用以下語法可以初始化改變變數的值:
var a = 1
這里我們沒有制定變數 a 的型別,但是在我們給它初始化為 1 時,它就自動被定義成了 int 型別的變數,
:= 操作
或者我們認為 var 過于麻煩,就可以用 := 來進行更簡單的定義與賦值,
message := "hello world"
宣告多個變數
宣告多個變數:
var (
a int
b string
c = "hello"
)
常量
常量與變數的宣告方法類似,除了宣告方法為 const,
const pi = 3.14
與變數的區別在于,常量一旦宣告就無法改變,
(完)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/252927.html
標籤:其他
上一篇:演算法分析——動態規劃
