Go 學習筆記(二)- 程序結構
本章介紹了命名,關鍵詞,聲明,賦值,類型,包,作用域等概念,但主要介紹的只是程序結構和聲明。
命名
Go 變量區分大小寫 字母或下劃線開頭,推薦 駝峰式 命名,在一個包里,變量,常量,函數首字母大寫,它將是導出的,例如fmt包的Printf函數就是導出方法。
關鍵詞
Go 語言中有25個關鍵詞:
break default func interface select case defer go map struct chan else goto package switch const fallthrough if range type continue for import return var
貌似其他語言也都差不多,部分不同。。
內建類型及函數
Go 有30多個預定義的名字的內建常量、類型和函數。
內建常量: true false iota nil 內建類型: int int16 int32 int64 int8 uint uint16 uint32 uint64 uint8 uintptr float32 float64 complex128 complex64 bool byte error rune string ComplexType FloatType IntegerType Type Type1 內建函數: make len cap new append copy close delete complex real imag panic recover print println
這里列出的比 go圣經 里多了幾個類型和函數,不知道什么時候加的,具體查看 官方文檔 。
聲明
目前就4個關鍵詞用于聲明,var 變量聲明,const 常量聲明,type 類型聲明,func 函數聲明。
變量
變量聲明的一般語法如下:
var 變量名字 類型 = 表達式
其中 “類型” 或 “= 表達式” 兩個部分可以省略其中的一個。
var a int = 1 // 聲明int型并初始化為 1 var b int // 聲明int型,默認初始值為 0 var c = 2 // 根據值類型聲明為int型初始化為 2
簡短變量聲明
語法: 名字 := 表達式
變量類型根據表達式值自動推導。
要特別注意 := 是聲明, = 是賦值,不能搞混。
a := 1 b := "str" c := a+1
指針
其實也差不多,但是這里的指針比 c 的簡單太多了,跟 php 的取地址差不多。
x := 1 p := &x *p = 2
賦值
亮點在于可以同時賦值多個,函數也可以返回多個值,叫做 元組賦值。
變量 = 值 元組賦值 x, y = y, x
類型
語法: type 類型名字 底層類型
type Celsius float64 // 攝氏溫度 type Fahrenheit float64 // 華氏溫度
為什么聲明類型?除了可以意義化描述之外,還可以為自定義類型綁定方法(原生類型不可以)。
包
具體以后研究..
作用域
這個貌似跟 es6 類似,塊級作用域,沒一個 {} 中都是獨立的域。。
小結
在這里看到了 es6,php 的影子,相對而言語法還是比較簡單易學的。繼續加油。。
本文由用戶 cxfq3886 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!