[日常] Go語言聖經--範圍,基礎資料類型,整型

來源:互聯網
上載者:User

標籤:狀態   複合   for迴圈   尋找   應用   使用   位置   範圍   printf函數   

go語言聖經-範圍

1.一個聲明語句將程式中的實體和一個名字關聯,比如一個函數或一個變數

2.一個變數的生命週期是指程式運行時變數存在的有效時間段;聲明語句的範圍對應的是一個原始碼的文本地區,它是一個編譯時間的屬性

3.句法塊是由花括弧所包含;我們可以把塊(block)的概念推廣到包括其他聲明的群組,這些聲明在代碼中並未顯式地使用花括弧包裹起來,我們稱之為詞法塊。

4.全域範圍 包級文法域 源檔案級的範圍 局部範圍 函數級的範圍

5.從最內層的詞法域向全域的範圍尋找。內部的會覆蓋外部的,如果尋找失敗,則報告“未聲明的名字”這樣的錯誤

6.詞法域可以深度嵌套,因此內部的一個聲明可能屏蔽外部的聲明

7.隱式詞法域, 比如:for迴圈 函數體詞法域,一個在for隱式的初始化詞法域,一個在for迴圈體詞法域

8.Go語言的習慣是在if中處理錯誤然後直接返回,這樣可以確保正常執行的語句不需要代碼縮排。

9.要特別注意短變數聲明語句的範圍範圍,雖然變數在外部已經聲明過,但是:=語句還是將變數重新聲明為新的局部變數

避免出現類似潛在的問題,通過單獨聲明變數,來避免使用:=

 

go語言聖經-基礎資料類型

1.基礎類型、複合類型、參考型別和介面類型

2.基礎類型,包括:數字、字串和布爾型

3.複合資料型別——數組(§4.1)和結構體(§4.2)

4.參考型別包括指標(§2.3.2)、切片(§4.2))字典(§4.3)、函數(§5)、通道(§8),都是對程式中一個變數或狀態的間接引用

 

go語言聖經-整型

1.int8、int16、int32和int64四種截然不同大小的有符號整數類型

2.uint8、uint16、uint32和uint64四種不帶正負號的整數類型

3.有符號和不帶正負號的整數int和uint;其中int是應用最廣泛的數實值型別。這兩種類型都有同樣的大小,32或64bit

4.byte也是uint8類型的等價類別型,byte類型一般用於強調數值是一個原始的資料而不是一個小的整數

5.一種無符號的整數類型uintptr,沒有指定具體的bit大小但是足以容納指標

6.bit位操作運算子,& | ^   &^位清空 (AND NOT) <<左移 >>右移

7.使用了Printf函數的%b參數列印二進位格式的數字;其中%08b中08表示列印至少8個字元寬度,不足的首碼部分用0填充

         &^是按位置零  x&^y  按y置零x  ;x^y 異或在 |或的基礎上去掉兩個都為1的部分

8.傾向於使用有符號的int類型,uint無符號類型比如在迴圈時條件判斷處會出問題

9.無符號數往往只有在位元運算或其它特殊的運算情境才會使用

10.類型不符的問題,需要顯式類型轉換,將一個大尺寸的整數類型轉為一個小尺寸的整數類型,或者是將一個浮點數轉為整數,可能會改變數值或丟失精度

11.整數字面值都可以用以0開始的八進位格式書寫,例如0666,用以0x或0X開頭的十六進位格式書寫,例如0xdeadbeef

%d、%o或%x參數控制輸出的進位格式,%之後的[1]副詞告訴Printf函數再次使用第一個運算元,%後的#副詞告訴Printf在用%o、%x或%X輸出時產生0、0x或0X首碼,字元使用%c參數列印,或者是用%q參數列印帶單引號的字元

[日常] 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.