為初學者準備16個部分的語言
在本文中,我們將學習如何使用Go啟動和運行,並做一些簡單的事情,比如調用函數和使用第三方包。我們走吧!
這是Golang系列的第一個帖子:為16個部分的初學者準備語言!
Go是最重要、最激動人心的編程語言之一!
它的語法簡潔,非常乾淨,並遵循許多模式,使我們遠離那些無意義的事情,比如縮進、錯誤處理、並發等等。
在瘋狂地跳到許多被破解的代碼之前,讓我們了解一些關於Go Lang的概念!
Go特性
Go是谷歌在2009年創建的。為什麼?那它是怎麼解決的呢?
Go被設計成非常簡單的閱讀。
它帶來了動態編程語言的可讀性。
圍棋的設計非常簡單。
它沒有魔法和樣板代碼,而且結構類型也很有限。
圍棋的設計速度非常快。
Go是用C寫在引擎蓋下面的!
Go編譯
您不需要有解釋器或虛擬機,也不需要對在這種環境中運行的Go代碼進行任何更改。
Go是一種靜態類型的編程語言。
即使作為靜態類型的語言,Go也有乾淨的語法和很棒的類型推斷,接近於動態語言。
Go有一個垃圾收集。
太棒了!您不需要記住何時使用malloc來分配內存!
多態的圍棋是偉大的!
Go遵循一種不同的處理多態的方法,即介面的概念。這非常簡單,它只是一系列方法的集合!
以一種美麗的方式支持網路和多處理。
Go被設計為具有一個內置的並發方法,並且使用Goroutines和通道來實現真正的輕量級過程。
你好,走吧!
這將是我們的第一步代碼!我們應該創建一個文件叫go-hello.go。
package main
import "fmt"
func main() {
fmt.Println("Hello, Go World!")
}
讓我們編譯代碼
$ go build go-hello.go
在此之後,將在名為go-hello的當前目錄中創建一個文件。這個文件是可以執行的編譯代碼,如下所示:
./go-hello
這兩步方法有點無聊,Go可以在1步內完成,使用Go run命令:
$ go run go-hello.go
Hello, Go World!
所以,你不想嘗試自己的機器嗎?別擔心,我們可以在別的地方玩。
在Go操場上運行代碼。
我不提它的大操場,就不能談論Golang。
點擊運行鏈接,運行相同的代碼!
太棒了,不是嗎?
程序包和功能。
你有沒有注意到我們已經調用了函數Println?該函數來自包fmt。
此包是內置的包,默認情況下是在Golang中提供的。要使用它,我們只需要使用帶有包名稱的import關鍵字。
import "fmt"
在此示例中,讓我們從包裝數學中調用一個函數:
package main
import (
"fmt"
"math"
)
func main() {
fmt.Println(math.Max(9, 5))
}
在Go運動場或本地終端運行這段代碼:
go run hello-math.go
輸出應該是:9。
調用函數中去
我們可以在同一個文件中調用另一個函數:
package main
import "fmt"
func main() {
fmt.Println("Calling the function: main")
anotherFunction()
}
func anotherFunction() {
fmt.Println("Calling the function: anotherFunction()")
}
如果您運行此代碼,您將得到以下結果:
Calling the function: main
Calling the function: anotherFunction()
在Golang使用第三方包。
Go有一個簡單的方法從GitHub獲得一個在線軟體包。只是遵循模式:
go get github.com/go-awesome-library-address
用表情符號列印消息怎麼樣?嗯,這不是一個必需的和重要的特性(儘管我認為它是)在Golang核心,所以讓我們使用GitHub的一個包。
我們將遵循上面的模式:
go get gopkg.in/kyokomi/emoji.v1
現在是列印表情符號的時候了:
package main
import (
"fmt"
"github.com/kyokomi/emoji"
)
func main() {
fmt.Println("Hello World Emoji! :tada:")
emoji.Println("Do you like :coffee: ? Of course you like!")
}
輸出將輸出表情符號!
Go是一種靜態類型語言。
這意味著Go知道你的值是哪一種!字元串和整數都與Go透視圖不同!
用整數列印字元串會怎樣?讓我們創建一個名為types-in-go的文件。使用以下代碼:
package main
import "fmt"
func main() {
fmt.Println("Hey " + 300)
}
現在,運行代碼:
$ go run types-in-go.go
您將得到以下錯誤信息:
./types.go:6: cannot convert "Hey " to type int
./types.go:6: invalid operation: "Hey " + 300 (mismatched types string and int)
這個錯誤發生在編譯時。試著編譯代碼:
$ go build types-in-go.go
同樣的錯誤也會發生!別擔心,我們稍後會修正這個代碼。
用TypeOf顯示值的類型。
那麼列印出一個值的類型呢?讓我們使用內置反射包中的TypeOf()方法來實現這一點:
package main
import (
"fmt"
"reflect"
)
func main() {
fmt.Println(reflect.TypeOf(1))
fmt.Println(reflect.TypeOf(9.5))
fmt.Println(reflect.TypeOf("Just a String"))
fmt.Println(reflect.TypeOf(true))
}
如果你運行代碼,結果將是:
int
float64
string
bool
太棒了!在這個簡單的帖子里,我們有了一點點進入到語言世界!我們有很多工作要做16個部分!
在下一篇文章中,第2部分—在Go中聲明變數,我們將看到如何在Go中使用類型聲明!
就是這樣!我希望這對你有用!謝謝你!
跟隨我們跟上時代的步伐!


※淺談HTTP在WebApi開發中的運用
※使用Vue構建一個延遲載入路由器和最新的瀏覽器特性
TAG:愛碼農 |