偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

初學(xué)Golang語(yǔ)言需要注意那些坑

開發(fā) 后端
作為初學(xué)Golang新手,雖然Golang是非常優(yōu)秀的語(yǔ)言,但是它跟java這種面向?qū)ο蟮恼Z(yǔ)言在語(yǔ)法和結(jié)構(gòu)上還是有一些不一樣的。你有可能會(huì)遇到各種莫名其妙的問(wèn)題,各種坑。那么本章節(jié)我們將學(xué)習(xí) Go 語(yǔ)言的基礎(chǔ)語(yǔ)法中需要注意的點(diǎn)。

作為初學(xué)Golang新手,雖然Golang是非常優(yōu)秀的語(yǔ)言,但是它跟java這種面向?qū)ο蟮恼Z(yǔ)言在語(yǔ)法和結(jié)構(gòu)上還是有一些不一樣的。你有可能會(huì)遇到各種莫名其妙的問(wèn)題,各種坑。那么本章節(jié)我們將學(xué)習(xí) Go 語(yǔ)言的基礎(chǔ)語(yǔ)法中需要注意的點(diǎn)。

[[319207]]

GO語(yǔ)言基礎(chǔ)語(yǔ)法

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

最好是對(duì)照上面的例子,一個(gè)一個(gè)敲出來(lái),這樣效果最好。

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

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

GO語(yǔ)言注意的坑

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

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

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

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

  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表示一個(gè)可獨(dú)立執(zhí)行的程序,每個(gè) Go 應(yīng)用程序都包含一個(gè)名為 main 的包。

  1. package main 

4. 在 Go 程序中,一行代表一個(gè)語(yǔ)句結(jié)束。每個(gè)語(yǔ)句不需要像 C 家族中的其它語(yǔ)言一樣以分號(hào) ; 結(jié)尾,因?yàn)檫@些工作都將由 Go 編譯器自動(dòng)完成。

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

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

5. main()函數(shù)是每一個(gè)可執(zhí)行程序所必須包含的,一般來(lái)說(shuō)都是在啟動(dòng)后第一個(gè)執(zhí)行的函數(shù)。然而,每個(gè)package 中,只能有一個(gè)main() 函數(shù),否則會(huì)報(bào)main redeclared in this block previous declaration at .. 的錯(cuò)誤。

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

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

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

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

以下是無(wú)效的標(biāo)識(shí)符:

  • 1ab(以數(shù)字開頭)
  • case(Go 語(yǔ)言的關(guān)鍵字)
  • a+b(運(yùn)算符是不允許的)

8. 錯(cuò)誤 no new variables on left side of := ,意思是,“左邊一個(gè)新的變量也沒(méi)有!”

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

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

9. 不能使用++自增或- -自減運(yùn)算符初始化變量和對(duì)變量賦值

  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) 

最后

總結(jié)一下,前面總結(jié)了我們?cè)趯W(xué)習(xí)golang時(shí)可能會(huì)遇到的坑。后面我會(huì)詳細(xì)的介紹golang的語(yǔ)法。

責(zé)任編輯:未麗燕 來(lái)源: 今日頭條
相關(guān)推薦

2021-07-30 09:00:40

鴻蒙HarmonyOS應(yīng)用

2022-05-17 08:26:04

API后端

2019-06-23 16:02:12

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

2010-03-16 16:34:06

Java編程語(yǔ)言

2011-05-26 17:37:11

Ajax

2013-09-29 10:36:08

VMware虛擬化

2009-04-23 14:30:19

UML建模

2014-07-23 14:47:35

數(shù)據(jù)保護(hù)災(zāi)難恢復(fù)GRC

2023-07-27 18:39:20

低代碼開發(fā)編碼

2020-10-26 14:01:22

Java泛型

2010-09-01 13:37:32

2011-07-21 15:40:24

iPhone 內(nèi)存管理 對(duì)象

2009-06-30 10:10:15

Namespace用法Flex

2009-12-25 15:47:20

ADO存儲(chǔ)過(guò)程

2015-09-16 13:19:11

2016-12-16 14:57:19

2024-01-02 12:59:00

智能家居

2018-08-28 06:21:19

網(wǎng)線布線線纜

2009-08-28 09:26:35

C#連接Access

2023-10-04 00:03:00

SQL數(shù)據(jù)庫(kù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)