介紹
Go編程語(yǔ)言(也稱為Golang)是Google開(kāi)發(fā)的一種開(kāi)放源代碼編程語(yǔ)言,用于創(chuàng)建簡(jiǎn)單轮锥,可靠和高效的軟件。 Golang值得學(xué)習(xí)的原因有很多:
- 由專家開(kāi)發(fā)
- 語(yǔ)法簡(jiǎn)單易懂
- 用于Web開(kāi)發(fā)要尔,尤其是后端開(kāi)發(fā)
在電腦或者您的開(kāi)發(fā)環(huán)境中安裝Go
Go的安裝指南可在此處獲得:https://golang.org/dl/
安裝完成后舍杜,您可以在喜歡的文本編輯器(例如VSCode)中編寫(xiě)Go程序,也可以使用專用的IDE(例如Goland)盈电。
Golang游樂(lè)場(chǎng)也可用于學(xué)習(xí)Go編程語(yǔ)言:https://play.golang.org/
第一個(gè)程序
要檢查Go是否正確安裝在本地計(jì)算機(jī)中蝴簇,請(qǐng)輸入以下命令。
go version
要檢查Go環(huán)境變量設(shè)置匆帚,請(qǐng)使用此命令。
go env
好了旁钧,讓我們創(chuàng)建一個(gè)名為main.go的文件來(lái)編寫(xiě)第一個(gè)程序吸重。 根據(jù)Go環(huán)境設(shè)置在Go工作空間目錄中創(chuàng)建該文件。
讓我們?cè)趍ain.go中編寫(xiě)第一個(gè)程序:
package main // 聲明包裝主
import (
"fmt" // 導(dǎo)入所需的庫(kù)(例如語(yǔ)法導(dǎo)入“ fmt”包)
)
func main() { // 聲明程序的主函數(shù)
// 從fmt包中歪今,使用名為Println()的函數(shù)將輸出寫(xiě)入控制臺(tái)
fmt.Println("Hello, playground") // 開(kāi)頭字母大寫(xiě)表示該函數(shù)在包范圍內(nèi)
}
要執(zhí)行該程序嚎幸,請(qǐng)?jiān)谟糜诰帉?xiě)該程序的工作目錄中運(yùn)行此命令。
go run main.go
這是輸出:
Hello, playground
簡(jiǎn)而言之寄猩,執(zhí)行流程使用自上而下的方法嫉晶。
變量
變量是一種將值存儲(chǔ)到特定位置的機(jī)制。 使用變量田篇,我們可以存儲(chǔ)具有特定類型的任何值替废,例如字符串,整數(shù)甚至數(shù)組泊柬。
Go具有許多類型的值/數(shù)據(jù)椎镣,可以存儲(chǔ)在變量中。 Go數(shù)據(jù)/值類型的列表為:
布爾值:bool (true / false)
數(shù)值類型:int兽赁,float64状答,uint8(其他數(shù)值類型)
字符串:string
Array:例如 [4]int {1,2,3,4}
Slice:例如 []int {1,2,3,4}
可以在Go語(yǔ)言規(guī)范中檢查其他類型:https://golang.org/ref/spec#Types
在數(shù)字類型中冷守,有兩種主要類型,分別稱為無(wú)符號(hào)(uint8惊科,uint32)和有符號(hào)(int拍摇,float64)。 unsigned的含義僅是類型中可用的正數(shù)馆截。 有符號(hào)的int和float64可用于正數(shù)和負(fù)數(shù)充活。
可以在下面的代碼中看到變量聲明的示例:
package main
import (
"fmt"
)
var (
a = 1
b = 2
c = 3
) //declare multiple variables
func main() {
data := "Box this lap" //declare variable with shorthand syntax
fmt.Println(a, b, c) //print the value of a,b,c
fmt.Printf("%T %T %T\n", a, b, c) //print the type of a,b,c variable with %T notation
fmt.Println(data) //print the value of data
fmt.Printf("%s %T\n", data, data) //print the value with %s notation and the type with %T notation
}
算術(shù)運(yùn)算有數(shù)字類型可用,操作數(shù)(算術(shù)運(yùn)算中涉及的變量)必須具有相同的類型孙咪。 例如堪唐,由于類型不同,無(wú)法執(zhí)行uint類型與int類型之間的操作翎蹈。
可以在下面的代碼中看到算術(shù)運(yùn)算的示例:
package main
import (
"fmt"
)
var a int = 10
var b int = 2
func main() {
d := a + b
e := a - b
f := a / b
g := a * b
h := a % b //gives the result of remainder between 10 and 2
fmt.Printf("The result of %d + %d equals %d\n",a,b,d)
fmt.Printf("The result of %d - %d equals %d\n",a,b,e)
fmt.Printf("The result of %d / %d equals %d\n",a,b,f)
fmt.Printf("The result of %d * %d equals %d\n",a,b,g)
fmt.Printf("The result of %d modulo %d equals %d\n",a,b,h)
}
類型轉(zhuǎn)換
在Go中淮菠,某些類型的值可以轉(zhuǎn)換為另一種類型。 要轉(zhuǎn)換為指定的類型荤堪,請(qǐng)使用目標(biāo)類型合陵,后跟"()"(要從字符串轉(zhuǎn)換為特定類型,請(qǐng)使用strconv.parseType()(示例:strconv.parseInt(" 42"澄阳,10拥知,64)))
// int -> float64
a := 42
data := float64(a)
// string -> int
a := "43"
data, _ := strconv.Atoi(a)
// int -> string
a := 43
data := strconv.Itoa(a)
要了解有關(guān)strconv軟件包的更多信息,請(qǐng)查看以下鏈接:https://golang.org/pkg/strconv/
資料來(lái)源
以下是一些有用的資源碎赢,可進(jìn)一步了解Go編程語(yǔ)言
https://golang.org/doc/effective_go.html(編寫(xiě)Go代碼的最佳做法)
https://golang.org/ref/spec(Go語(yǔ)言規(guī)范)
https://godoc.org/(有關(guān)Go軟件包和第三方軟件包的文檔)
我希望本文對(duì)幫助學(xué)習(xí)Go編程語(yǔ)言有所幫助低剔。 如果您有任何想法或反饋,可以在下面的評(píng)論留言肮塞。
關(guān)注公眾號(hào)【技術(shù)全沾】學(xué)習(xí)更多有趣的編程知識(shí)襟齿。