中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

Go語言需要注意的坑有哪些

發布時間:2021-12-15 09:47:07 來源:億速云 閱讀:161 作者:小新 欄目:大數據

這篇文章主要為大家展示了“Go語言需要注意的坑有哪些”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Go語言需要注意的坑有哪些”這篇文章吧。

GO語言基礎語法

下面是一個Go 程序的基本結構,包含(包聲明,引入包,函數等)

package main   // 定義包名,package main表示一個可獨立執行的程序,每個 Go 應用程序都包含一個名為 main 的包。

import "fmt"   // 導入需要使用的包(的函數,或其他元素)func main() {  // 程序的入口函數。main 函數是每一個可執行程序所必須包含的,一般來說都是在啟動后第一個執行的函數。
   fmt.Println("Hello, World!")
}

GO語言注意的坑

不管學啥,剛開始都會遇到各種各樣的坑。下面就來總結下學習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")
 }

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

package main

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

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

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

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

package main

import "fmt"

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

4. 當函數、結構等標識符以一個大寫字母開頭,如:GetInfo,那么使用這種形式的標識符的對象就可以被外部包的代碼所使用,這被稱為導出(像面向對象語言中的 public);標識符如果以小寫字母開頭,則對包外是不可見的,但是他們在整個包的內部是可見并且可用的(像面向對象語言中的 protected )。

// 公有函數,可以被外部包的代碼所使用
func Test() {   .
  .
  . }

// 私有函數,包的內部是可見、
func test2() {
   .
  .
  .
}

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

以下是無效的標識符:

  • 1ab(以數字開頭)

  • case(Go 語言的關鍵字)

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

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

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

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

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

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)
}

以上是“Go語言需要注意的坑有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

龙山县| 嵩明县| 芦溪县| 乌拉特中旗| 喀喇沁旗| 黔南| 海口市| 双辽市| 简阳市| 新宁县| 汉川市| 阿克苏市| 柘城县| 木兰县| 宜城市| 察哈| 潜江市| 伽师县| 垦利县| 巨野县| 沿河| 襄樊市| 田林县| 四川省| 临潭县| 镇沅| 波密县| 玉树县| 连南| 蒙山县| 东乡县| 剑川县| 报价| 虎林市| 嵩明县| 犍为县| 台前县| 高碑店市| 姚安县| 多伦县| 庄浪县|