成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

初學Golang語言需要注意那些坑

開發(fā) 后端
作為初學Golang新手,雖然Golang是非常優(yōu)秀的語言,但是它跟java這種面向對象的語言在語法和結構上還是有一些不一樣的。你有可能會遇到各種莫名其妙的問題,各種坑。那么本章節(jié)我們將學習 Go 語言的基礎語法中需要注意的點。

作為初學Golang新手,雖然Golang是非常優(yōu)秀的語言,但是它跟java這種面向對象的語言在語法和結構上還是有一些不一樣的。你有可能會遇到各種莫名其妙的問題,各種坑。那么本章節(jié)我們將學習 Go 語言的基礎語法中需要注意的點。

[[319207]]

GO語言基礎語法

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

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

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

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

GO語言注意的坑

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

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

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

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

  1. var a int = 30 
  2.  
  3. if a < 20 { 
  4.    fmt.Print("a<20"
  5. else { 
  6.    fmt.Print("a>=20"

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

  1. package main 

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

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

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

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

  1. package main 
  2.  
  3. import "fmt" 
  4.  
  5. func main() { 
  6.    /* 這是我的第一個簡單的程序 */ 
  7.    fmt.Println("Hello, World!"

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

  1. // 公有函數,可以被外部包的代碼所使用 
  2. func Test() { 
  3.    . 
  4.    . 
  5.    . 
  6.  
  7. // 私有函數,包的內部是可見、 
  8. func test2() { 
  9.    . 
  10.    . 
  11.    . 

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

以下是無效的標識符:

  • 1ab(以數字開頭)
  • case(Go 語言的關鍵字)
  • a+b(運算符是不允許的)

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

  1. func main() { 
  2.     var b int = 20 
  3.     b := 30 
  4.     fmt.Print(b) 

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

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

  1. package main 
  2.  
  3. import "fmt" 
  4.  
  5. func main(){ 
  6.     var a int = 10 
  7.     var b int = a++ 
  8.  
  9.     var c int = 20 
  10.     c = a++ 
  11.  
  12.     fmt.Print(a, b, c) 

最后

總結一下,前面總結了我們在學習golang時可能會遇到的坑。后面我會詳細的介紹golang的語法。

責任編輯:未麗燕 來源: 今日頭條
相關推薦

2021-07-30 09:00:40

鴻蒙HarmonyOS應用

2022-05-17 08:26:04

API后端

2019-06-23 16:02:12

Kubernetes集群節(jié)點高并發(fā)

2010-03-16 16:34:06

Java編程語言

2011-05-26 17:37:11

Ajax

2013-09-29 10:36:08

VMware虛擬化

2009-04-23 14:30:19

UML建模

2010-09-01 13:37:32

2023-07-27 18:39:20

低代碼開發(fā)編碼

2014-07-23 14:47:35

數據保護災難恢復GRC

2020-10-26 14:01:22

Java泛型

2009-06-30 10:10:15

Namespace用法Flex

2011-07-21 15:40:24

iPhone 內存管理 對象

2009-12-25 15:47:20

ADO存儲過程

2016-12-16 14:57:19

2015-09-16 13:19:11

2009-08-28 09:26:35

C#連接Access

2011-12-27 09:44:26

數據中心三層網絡扁平化網絡

2023-10-04 00:03:00

SQL數據庫

2011-06-30 14:26:35

SEO軟文
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久久国 | 成人在线电影在线观看 | 欧美日韩国产综合在线 | 麻豆久久久久久久久久 | 国产精品久久在线观看 | 日韩欧美福利视频 | 成人免费视频观看视频 | 国产欧美性成人精品午夜 | 国产精品视频999 | 1级黄色大片 | 久久久久国产精品一区三寸 | 精品91 | 欧美v在线观看 | 中文字幕在线观看第一页 | 免费国产一区二区 | 欧美一级特黄aaa大片在线观看 | 国产日韩欧美在线一区 | 91素人| 成人18亚洲xxoo | 玖玖久久| 欧美不卡在线 | 九九热免费观看 | 精品综合在线 | 国产精品jizz在线观看老狼 | 五月天天色 | 国产福利视频在线观看 | 99在线免费观看视频 | 粉嫩国产精品一区二区在线观看 | 成人av高清在线观看 | 免费视频一区二区 | 亚洲综合一区二区三区 | 黄色一级视频 | 狠狠干天天干 | 99久久久久国产精品免费 | 国产精品国产三级国产aⅴ中文 | 中文字幕 在线观看 | 色偷偷888欧美精品久久久 | 国产探花在线精品一区二区 | 成人亚洲视频 | 国产在视频一区二区三区吞精 | 最新国产精品视频 |