go 語言內建的運算子有:
1.算術運算子:+ - * / % ++ --
2.關係運算子:== != > < >= <=
3.邏輯運算子:&& || !
4.位運算子:& | ^ << >> 將其先轉換為二進位制數,在根據如下表規則
p q p & q p | q p ^ q
0 0 0 0 0
0 1 0 1 1
1 1 1 1 0
1 0 0 1 1
如假定 a = 60; b = 13; 其二進位制數轉換為:
a = 0011 1100
b = 0000 1101
-----------------
a&b = 0000 1100
a|b = 0011 1101
a^b = 0011 0001
a<<2 =240 二進位制為 1111 0000 左移n位就是乘以2的n次方。
a>>2 =15 二進位制為 0000 1111 右移n位就是除以2的n次方。
5.賦值運算子
1.= 2.+= 3.-= 4.*= 5./= 6.%=
7.<<= 左移後賦值 c <<= 2 等於 c = c << 2
8.>>= 右移後賦值 c >>= 2 等於 c = c >> 2
9.&= 按位與後賦值 c &= 2 等於 c = c & 2
10.^= 按位異或後賦值 c ^= 2 等於 c = c ^ 2
11.|= 按位或後賦值 c |= 2 等於 c = c | 2
6.其他運算子
* 指標變數。 例項*a:是乙個指標變數
7.運算子優先順序
有些運算子擁有較高的優先順序,二元運算子的運算方向均是從左至右。下表列出了所有運算子以及它們的優先順序,由上至下代表優先順序由高到低:
優先順序 運算子
7 ^ !
6 * / % << >> & &^
5 + - | ^
4 == != < <= >= >
3 <-
2 &&
1 ||
當然,你可以通過使用括號來臨時提公升某個表示式的整體運算優先順序。
if if...else
if 巢狀語句 你可以在 if 或 else if 語句中嵌入乙個或多個 if 或 else if 語句。
switch 語句 switch 語句用於基於不同條件執行不同動作。
select 語句 select 語句類似於 switch 語句,但是select會隨機執行乙個可執行的case。如果沒有case可執行,它將阻塞,直到有case可執行。
for 迴圈 重複執行語句塊
迴圈巢狀 在 for 迴圈中巢狀乙個或多個 for 迴圈
迴圈控制語句
break 語句 經常用於中斷當前 for 迴圈或跳出 switch 語句
continue 語句 跳過當前迴圈的剩餘語句,然後繼續進行下一輪迴圈。
goto 語句 將控制轉移到被標記的語句。
迴圈判斷的例子輸出 1-100 素數:
package main
import "fmt"
func main()
}if b > (a / b)
}}
go 語言函式定義格式如下:
func function_name( [parameter list 參賽列表] ) [return_types 返回型別]
函式引數
函式如果使用引數,該變數可稱為函式的形參。
形參就像定義在函式體內的區域性變數。
呼叫函式,可以通過兩種方式來傳遞引數:
傳遞型別 描述
值傳遞:值傳遞是指在呼叫函式時將實際引數複製乙份傳遞到函式中,這樣在函式中如果對引數進行修改,將不會影響到實際引數。
引用傳遞 :引用傳遞是指在呼叫函式時將實際引數的位址傳遞到函式中,那麼在函式中對引數所進行的修改,將影響到實際引數。
預設情況下,go 語言使用的是值傳遞,即在呼叫過程中不會影響到實際引數。
函式用法
函式作為值 函式定義後可作為值來使用
閉包 閉包是匿名函式,可在動態程式設計中使用
方法 方法就是乙個包含了接受者的函式
go 語言中變數可以在三個地方宣告:
函式內定義的變數稱為區域性變數
函式外定義的變數稱為全域性變數
函式定義中的變數稱為形式引數
package main
import "fmt"
/* 宣告全域性變數 */
var a int = 20
func main()
/* 函式定義-兩數相加 */
func sum(a, b int) int
/*main()函式中 a = 10
sum() 函式中 a = 11
sum() 函式中 b = 20
main()函式中 a = 10
main()函式中 c = 31*/
初始化陣列
以下演示了陣列初始化:
var balance = [5]float32
初始化陣列中 {} 中的元素個數不能大於 中的數字。
Go語言基礎
目錄 一.go語言內建關鍵字 二.go語言注釋方法 三.專案結構 四.程式結構 五.包的匯入 六.package的別名 七.可見性規則 單行注釋 多行注釋 go程式是通過package來組織的 只有package 名稱為main的包可以包含main函式 乙個可執行程式有且僅有乙個main包 初步練習...
Go基礎程式設計 Go語言介紹
2009年11月10日,go語言正式成為開源程式語言家庭的一員。go語言 或稱golang 是雲計算時代的c語言。go語言的誕生是為了讓程式設計師有更高的生產效率,go語言專門針對多處理器系統應用程式的程式設計進行了優化,使用go編譯的程式可以媲美c或c 的速度,而且更加安全 支援並行程序。開發人員...
Go基礎程式設計 Go語言介紹
2009年11月10日,go語言正式成為開源程式語言家庭的一員。go語言 或稱golang 是雲計算時代的c語言。go語言的誕生是為了讓程式設計師有更高的生產效率,go語言專門針對多處理器系統應用程式的程式設計進行了優化,使用go編譯的程式可以媲美c或c 的速度,而且更加安全 支援並行程序。開發人員...