Pages - Menu

2020年2月24日 星期一

[Go]撞牆筆記篇 PartII - 變數篇

前言

延續上一篇的PartI,
分開寫比較不會亂



正文

1.程式執行是否正常

0為正常,異常被終止返回非0的數字(Fig.1)

(Fig.1)

2.Go的執行順序

包=package
a.按順序導入所有被 main package引用的其它package,然後在每個package中執行如下流程:
b.如果該包又導入了其它的包,則從第一步開始遞歸執行,但是每個包只會被導入一次。
c.然後以相反的順序在每個包中初始化常量和變量,如果該包含有 init 函數的話,則調用該函數。
d.在完成這一切之後,main 也執行同樣的過程,最後調用 main 函數開始執行程序。

3.類型轉換

valueOfTypeB = typeB(valueOfTypeA)
類型 B 的值 = 類型 B(類型 A 的值)
a := 5.0
b := int(a)


4.命名原則

駝峰式或帕斯卡寫法,使用大小寫來區分名詞,
而不要使用符號

5.常量宣告

常量使用關鍵字 const 定義,用於儲存不會改變的數據。
常量在宣告時,如果要賦值可使用內置函數,但字定義函數屬於未知,無法用于常量的賦值
可:const c1 = 2/3
否:const c2 = getNumber()
可使用 反斜線 /  作為多行的連接

6.變量宣告

var a,b *int 宣告a,b都是數值指標
也能使用因式分解

var (
    c int
    d string
    e bool
)

同時賦值的話則是

var (
    c int    = 2
    d string = "3"
    e bool   = false
)

簡短宣告

c,d,e := 2,”3”,false

也可以不寫型態,由Go直接判斷。

7.快速交換兩個變數的值


a,b = b,a

沒有留言:

張貼留言