溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

初學(xué)Golang語言需要注意哪些坑

發(fā)布時間:2021-11-03 16:57:05 來源:億速云 閱讀:177 作者:iii 欄目:編程語言

這篇文章主要介紹“初學(xué)Golang語言需要注意哪些坑”,在日常操作中,相信很多人在初學(xué)Golang語言需要注意哪些坑問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”初學(xué)Golang語言需要注意哪些坑”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

GO語言基礎(chǔ)語法

go 的基礎(chǔ)語法,我這里就不細說了,大家可以查看這個文章,學(xué)習(xí)Go  詳細的語法:http://www.runoob.com/go/go-basic-syntax.html

最好是對照上面的例子,一個一個敲出來,這樣效果最好。

下面是一個Go 程序的基本結(jié)構(gòu),包含(包聲明,引入包,函數(shù)等)

package main   // 定義包名,package main表示一個可獨立執(zhí)行的程序,每個 Go 應(yīng)用程序都包含一個名為 main 的包。  import "fmt"   // 導(dǎo)入需要使用的包(的函數(shù),或其他元素)  func main() {  // 程序的入口函數(shù)。main 函數(shù)是每一個可執(zhí)行程序所必須包含的,一般來說都是在啟動后第一個執(zhí)行的函數(shù)。    fmt.Println("Hello, World!") }

GO語言注意的坑

不管學(xué)啥,剛開始都會遇到各種各樣的坑。下面就來總結(jié)下學(xué)習(xí)go語言的過程中,遇到的各種坑。

1. 寫C# 的人都會將 “{” 獨立一行,但是這在go 里面是錯誤的 “{” 必須更方法體 在同一行。我第一次寫go  的就犯了這個錯誤,還不知道錯誤在哪。

func main() {    fmt.Println("Hello, World!") }

2. if…else 語句中的 else 必須和 if 的 ’ } ’ 在同一行,否則編譯錯誤

var a int = 30  if a < 20 {    fmt.Print("a<20") } else {    fmt.Print("a>=20") }

3. 包名的定義。你必須在源文件中非注釋的第一行聲明包名,如:package main。package main表示一個可獨立執(zhí)行的程序,每個 Go  應(yīng)用程序都包含一個名為 main 的包。

package main

4. 在 Go 程序中,一行代表一個語句結(jié)束。每個語句不需要像 C 家族中的其它語言一樣以分號 ; 結(jié)尾,因為這些工作都將由 Go  編譯器自動完成。

如果你打算將多個語句寫在同一行,則必須使用 ; 人為區(qū)分,但在實際開發(fā)中我們并不鼓勵這種做法。

fmt.Println("Hello, World!") fmt.Println("www.fpeach.com")

5. main()函數(shù)是每一個可執(zhí)行程序所必須包含的,一般來說都是在啟動后第一個執(zhí)行的函數(shù)。然而,每個package 中,只能有一個main()  函數(shù),否則會報main redeclared in this block previous declaration at .. 的錯誤。

package main  import "fmt"  func main() {    /* 這是我的第一個簡單的程序 */    fmt.Println("Hello, World!") }

6 當(dāng)函數(shù)、結(jié)構(gòu)等標識符以一個大寫字母開頭,如:GetInfo,那么使用這種形式的標識符的對象就可以被外部包的代碼所使用,這被稱為導(dǎo)出(像面向?qū)ο笳Z言中的  public);標識符如果以小寫字母開頭,則對包外是不可見的,但是他們在整個包的內(nèi)部是可見并且可用的(像面向?qū)ο笳Z言中的 protected )。

// 公有函數(shù),可以被外部包的代碼所使用 func Test() {    .    .    . }  // 私有函數(shù),包的內(nèi)部是可見、 func test2() {    .    .    . }

7.  標識符用來命名變量、類型等程序?qū)嶓w。一個標識符實際上就是一個或是多個字母(A~Z和a~z)數(shù)字(0~9)、下劃線_組成的序列,但是第一個字符必須是字母或下劃線而不能是數(shù)字。

以下是無效的標識符:

  • 1ab(以數(shù)字開頭)

  • case(Go 語言的關(guān)鍵字)

  • a+b(運算符是不允許的)

8. 錯誤 no new variables on left side of := ,意思是,“左邊一個新的變量也沒有!”

func main() {     var b int = 20     b := 30     fmt.Print(b) }

解決辦法就是:對于x,y:=....這種形式,只要把其中的一個變量命名成新的就可以了。

9. 不能使用++自增或- -自減運算符初始化變量和對變量賦值

package main  import "fmt"  func main(){     var a int = 10     var b int = a++      var c int = 20     c = a++      fmt.Print(a, b, c) }

到此,關(guān)于“初學(xué)Golang語言需要注意哪些坑”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI