go語言總結第二章

來源:互聯網
上載者:User

標籤:

var和const :變數和常量的聲明

var varName type 或者 varName : = value

package and import: 匯入

func: 用於定義函數和方法

return :用於從函數返回

defer someCode :在函數退出之前執行

go : 用於並行

select 用於選擇不同類型的通訊

interface 用於定義介面

struct 用於定義抽象資料類型

break、case、continue、for、fallthrough、else、if、switch、
goto、default 流程式控制制

chan用於channel通訊

type用於聲明自訂類型

map用於聲明map類型資料

range用於讀取slice、map、channel資料
大寫,即為public

常量在編譯的時候就已經確定,運行時不能改變。

go語言在聲明變數時還允許省略掉關鍵字“var”。而用“:”取代
。eg:count:=10

資料超出取值範圍會溢出。如var a int8=127 fmt.Println(a
+1)//這時候輸出-128

一般位元比較多的用float64來儲存。

byte型和uint8本質是一樣的,只是個別名,便於閱讀程式。另外要
注意的是要以字元型輸出要先轉換,位元組型資料直接輸出為整形
eg:var i,j byte
i=65//轉為string(i)輸出A
j=‘A‘//直接輸出為65

rune和int32本質是一樣的,別名,便於閱讀。rune是unicode編碼

指標變數初始化後的預設值的nil不是null,go中沒有null

<<為位元運算符,再不溢出的情況下,<<1等於乘以2的一次方,左移10
相當於乘以2的10次方。

&^為標誌位清除運算子,如a的二進位為00000110,b的二進位為
00001011,則a&^b=00000100,原理為根據b上1的位置,如果在相同的
位置a為0,則不變,如果為1改變為0,b是5 7 8位為1,a上5位為0,
不變,7位為1,變為0,8位為0,不變,所以結果為00000100

go語言運算在優先順序相同時自左向右

go字串遍曆分為位元組數遍曆和unicode遍曆
位元組遍曆類似for最簡單的運用,下面主要看unicode遍曆:
eg:str:=“aaaa真好”
for i, ch := range str {
fmt.Printf("str[%d]=%v\n", i, ch)
}/*輸出為:
str[0]=97
str[1]=97
str[2]=97
str[3]=97
str[4]=30495
str[7]=22909*/

常量組的初始化
const{
a=100
b
c
}
func main(){
fmt.Println(a)
fmt.Println(b)
fmt.Println(c)
}//輸出為三個100;
原理為如果不提供初始值,將表示使用上行運算式。
但是這種方式只在常量組試用。

枚舉:
類似於常量組定義,不同的地方在後面加上 =iota//從0開始
一個例子:
const(
_=iota//忽略掉iota為0的情況
KB float64=1<<(10*iota)
MB
GB
TB

func main(){
fmt.Println(KB)
fmt.Println(MB)
fmt.Println(GB)
fmt.Println(TB)
}//將顯示1024 1048576 1073741824 1099511627776表示各單位為多
少byte

bool的初始值為false

complex62和complex128的初始值都為0+0i。

全域變數試用var
局部變數可以省略var

因為go語言是型別安全的語言,所有的類型轉換全都是顯式的
int——float(float強制轉換為int保留整數部分)
string——[]byte
string——[]int


第二章到此結束,主要是夠的基礎資料型別 (Elementary Data Type)和定義常量變數。需要特
別注意的是iota和顯式轉換!
第三章還會再接再厲!

go語言總結第二章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.