Go語法

1 基本語法

  1. Go程序由多個標(biāo)記組成:關(guān)鍵字莲趣,標(biāo)識符,常量饱溢,字符串喧伞,符號

    1. 如:fmt.Println("Hello, world!")
  2. 行分隔符:一行結(jié)束代表一個語句結(jié)束,不需要绩郎;結(jié)尾

  3. 注釋:單行注釋 // 內(nèi)容 塊注釋 /* 內(nèi)容 */

  4. 標(biāo)識符:用來命名變量潘鲫、類型等程序?qū)嶓w, 由一個或?qū)@個字母數(shù)字下劃線組成的序列肋杖,第一個字符必須是字母或者下劃線溉仑,不能是數(shù)字或者關(guān)鍵字

  5. 字符串連接 :使用 + 連接

  6. 格式化字符串:fmt.Sprintf 格式化字符串并賦值給新串,%d 代表整型數(shù)字状植,%s表示字符串

2 語言數(shù)據(jù)類型

1. 布爾型:true浊竟、false
2. 數(shù)字類型(uint8怨喘、uint16、uint32振定、uint64必怜、int8、int16后频、int32梳庆、int64、float32徘郭、float64靠益、complex64、complex128残揉、byte胧后、rune、uint抱环、int壳快、uintptr)
3. 字符串類型:字符串字節(jié)使用UTF-8編碼標(biāo)識Unicode文本
4. 派生類型:(指針Pointer、數(shù)字镇草、結(jié)構(gòu)化struct眶痰、Channel、函數(shù)梯啤、切片竖伯、接口interface、Map)

3 語言變量

  1. 變量聲明:

    1. 指定變量聲明: var a int
    2. 根據(jù)值自行判定變量類型 var a = 1
    3. 省略var因宇, a :=1 (a必須是一個未聲明過的新變量)
  2. 多變量聲明: var a, b, c = 1, 2, 3 或者 a, b, c := 1, 2, 3

  3. 聲明全局變量

    var (

    a int

    b bool

    )

4 常量

  1. 常量的定義格式:
    1. const a string = 'a'
    2. const a = 'a'
    3. const a, b = 1, 2
  2. 特殊常量:iota七婴,可以被編輯器修改的常量
    1. 在const關(guān)鍵字出現(xiàn)時,將被重置為0(const內(nèi)部的第一行之前)察滑,const每新增一行常量聲明將使iota家屬一次(可以理解為是const語句塊的行所以)

5 運算符

  1. 算數(shù)運算符: + 打厘、-、*贺辰、/户盯、%、++饲化、--
  2. 關(guān)系運算符:==莽鸭、!=、>吃靠、<蒋川、>=、<=
  3. 邏輯運算符:&&撩笆、||捺球、!
  4. 位運算符:&缸浦、 |、 ^
  5. 賦值運算符:=氮兵、+=裂逐、-=、*=泣栈、/=卜高、%=、<<=南片、 >>=掺涛、 &=、 ^=疼进、 |=
  6. 其他運算符:&(返回變量存儲地址)薪缆、*(指針變量)

6 循環(huán)語句

  1. 條件語句:if、switch伞广、select

    if a > 1 {
     ... 
    } else {
     ...
    }
    
    switch a {
     case 10:
         ...
       case 20:
         ...
       default:
         ...;
    }
    
  1. 循環(huán)類型:for循環(huán)
for init;condition;post{}
for condition { }
for { }
  1. 循環(huán)控制:break拣帽、continue、goto

7 函數(shù)

  1. 定義:

    fun function_name (a, b, c) return_types {

    }

    return_types: string 或者 (string, string)

  2. 調(diào)用:function_name (a, b ,c int)

  3. 函數(shù)返回值:可以是單個嚼锄、也可以是多個值

    1. return a
    2. return a, b

8 數(shù)組

  1. 聲明數(shù)組:

     1. var a [3] float32   (含義:定義數(shù)組a長度為3,類型為float32)
     2. var a = [3]float32{1, 2, 3}
     3. a := [3]float32{1, 2, 3}
     4. a := [...]float32{1, 2, 3}  (不確定數(shù)組長度使用...)
     5. a := [5]float32{1:2.0,3:7.0} (1,3元素初始化)
    
  2. 二維數(shù)組

  3. a := [2][3] int {
     {0, 1, 2},
     {3, 4, 5},
    }
    
    

9 指針

  1. 聲明指針:var a *int
  2. 使用:
var b *int
var a int = 20
b = &a
  1. 空指針:當(dāng)指針被定義但未分配給任何變量是减拭。它的值未為nil,nil指針被稱為空指針
  2. 一個指針變量通城螅縮寫未ptr
  3. 空指針判斷: ptr == nil

10 結(jié)構(gòu)體

1. 含義:數(shù)組可以存儲統(tǒng)一類型的數(shù)據(jù)拧粪,結(jié)構(gòu)體可以為不同項定義不同的數(shù)據(jù)類型;它是有一系列具有相同類型或者不同類型的數(shù)據(jù)構(gòu)成的數(shù)據(jù)集合

2.  使用
定義結(jié)構(gòu)體:
type struct_variable_type struct {
    member definition
    member definition
}
變量聲明語法:
variable_name := structure_variable_type {value1, value2...valuen}
或
variable_name := structure_variable_type { key1: value1, key2: value2..., keyn: valuen}

訪問:
structure_variable_type.key1
  1. 結(jié)構(gòu)體作為函數(shù)參數(shù)

11 切片(Slice)

12 范圍(Range)

13 MAp(集合)

14 遞歸函數(shù)

15 類型轉(zhuǎn)換

16 接口

17 錯誤處理

18 并發(fā)

19 開發(fā)工具

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末沧侥,一起剝皮案震驚了整個濱河市可霎,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌正什,老刑警劉巖啥纸,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件号杏,死亡現(xiàn)場離奇詭異婴氮,居然都是意外死亡,警方通過查閱死者的電腦和手機盾致,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進店門主经,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人庭惜,你說我怎么就攤上這事罩驻。” “怎么了护赊?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵惠遏,是天一觀的道長砾跃。 經(jīng)常有香客問我,道長节吮,這世上最難降的妖魔是什么抽高? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮透绩,結(jié)果婚禮上翘骂,老公的妹妹穿的比我還像新娘。我一直安慰自己帚豪,他們只是感情好碳竟,可當(dāng)我...
    茶點故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著狸臣,像睡著了一般莹桅。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上固棚,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天统翩,我揣著相機與錄音,去河邊找鬼此洲。 笑死厂汗,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的呜师。 我是一名探鬼主播娶桦,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼汁汗!你這毒婦竟也來了衷畦?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤知牌,失蹤者是張志新(化名)和其女友劉穎祈争,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體角寸,經(jīng)...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡菩混,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了扁藕。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片沮峡。...
    茶點故事閱讀 39,981評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖亿柑,靈堂內(nèi)的尸體忽然破棺而出邢疙,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布疟游,位于F島的核電站呼畸,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏颁虐。R本人自食惡果不足惜役耕,卻給世界環(huán)境...
    茶點故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望聪廉。 院中可真熱鬧瞬痘,春花似錦、人聲如沸板熊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽干签。三九已至津辩,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間容劳,已是汗流浹背喘沿。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留竭贩,地道東北人蚜印。 一個月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像留量,于是被迫代替她去往敵國和親窄赋。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,933評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 將兩個(或更多)語句放在一行書寫楼熄,它們 必須用分號 (’;’) 分隔忆绰。一般情況下,你不需要分號可岂。 init函數(shù)和m...
    涵仔睡覺閱讀 3,791評論 0 8
  • 出處---Go編程語言 歡迎來到 Go 編程語言指南错敢。本指南涵蓋了該語言的大部分重要特性 Go 語言的交互式簡介,...
    Tuberose閱讀 18,433評論 1 46
  • Go 程序可以由多個標(biāo)記組成缕粹,可以是關(guān)鍵字稚茅,標(biāo)識符,常量致开,字符串峰锁,符號萎馅。如以下 GO 語句由 6 個標(biāo)記組成: 6...
    moxiertu閱讀 907評論 0 0
  • 變量與常量 變量 變量與常量是組成語句的最基本的單元双戳,在語句中使用前需要定義,定義需要說明變量與常量的類型及初始值...
    海風(fēng)林影_閱讀 372評論 0 0
  • go 的關(guān)鍵字 下面列舉了 Go 代碼中會使用到的 25 個關(guān)鍵字或保留字:break default fun...
    acc8226閱讀 241評論 0 0