摘要:語句語句用于基于不同條件執行不同動作。引用傳遞引用傳遞是指在調用函數時將實際參數的地址傳遞到函數中,那么在函數中對參數所進行的修改,將影響到實際參數。默認情況下,語言使用的是值傳遞,即在調用過程中不會影響到實際參數。
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:將給出變量的實際地址。
* 指針變量。 實例*a:是一個指針變量
7.運算符優先級
有些運算符擁有較高的優先級,二元運算符的運算方向均是從左至右。下表列出了所有運算符以及它們的優先級,由上至下代表優先級由高到低:
</>復制代碼
優先級 運算符
7 ^ !
6 * / % << >> & &^
5 + - | ^
4 == != < <= >= >
3 <-
2 &&
1 ||
當然,你可以通過使用括號來臨時提升某個表達式的整體運算優先級。
Go 語言條件語句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() {
var a, b int
for a = 2; a <= 100; a++ {
for b = 2; b <= (a / b); b++ {
if a%b == 0 {
break
}
}
if b > (a / b) {
fmt.Printf("%d
是素數
", a)
}
}
}
Go 語言函數
Go 語言函數定義格式如下:
</>復制代碼
func function_name( [parameter list 參賽列表] ) [return_types 返回類型] {
函數體
}
函數參數
函數如果使用參數,該變量可稱為函數的形參。
形參就像定義在函數體內的局部變量。
調用函數,可以通過兩種方式來傳遞參數:
傳遞類型 描述
值傳遞:值傳遞是指在調用函數時將實際參數復制一份傳遞到函數中,這樣在函數中如果對參數進行修改,將不會影響到實際參數。
引用傳遞 :引用傳遞是指在調用函數時將實際參數的地址傳遞到函數中,那么在函數中對參數所進行的修改,將影響到實際參數。
默認情況下,Go 語言使用的是值傳遞,即在調用過程中不會影響到實際參數。
函數用法
函數作為值 函數定義后可作為值來使用
閉包 閉包是匿名函數,可在動態編程中使用
方法 方法就是一個包含了接受者的函數
Go 語言中變量可以在三個地方聲明:
函數內定義的變量稱為局部變量
函數外定義的變量稱為全局變量
函數定義中的變量稱為形式參數
</>復制代碼
package main
import "fmt"
/* 聲明全局變量 */
var a int = 20
func main() {
/* main 函數中聲明局部變量 */
var a int = 10
var b int = 20
var c int = 0
fmt.Printf("main()函數中 a = %d
", a)
c = sum(a, b)
fmt.Printf("main()函數中 a = %d
", a)
fmt.Printf("main()函數中 c = %d
", c)
}
/* 函數定義-兩數相加 */
func sum(a, b int) int {
a = a + 1
fmt.Printf("sum() 函數中 a = %d
", a)
fmt.Printf("sum() 函數中 b = %d
", b)
return a + b
}
/*main()函數中 a = 10
sum() 函數中 a = 11
sum() 函數中 b = 20
main()函數中 a = 10
main()函數中 c = 31*/
Go 語言數組
初始化數組
以下演示了數組初始化:
var balance = [5]float32{1000.0, 2.0, 3.4, 7.0, 50.0}
初始化數組中 {} 中的元素個數不能大于 [] 中的數字。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/24325.html
摘要:語言的生日年前的今天,語言以開源方式向全球發布簡介語言又稱,是谷歌開發的一種靜態強類型編譯型并發型,并具有垃圾回收功能的編程語言。語言有時被描述為類似語言,或者是世紀的語言。語言有一個清晰易懂的輕量級類型系統,在類型之間也沒有層級之說。 Go語言的生日 12年前的今天→ 2009.11.10...
摘要:語言誕生于谷歌,由計算機領域的三位宗師級大牛和寫成。作者華為云技術宅基地鏈接谷歌前員工認為,比起大家熟悉的,語言其實有很多優良特性,很多時候都可以代替,他已經在很多任務中使用語言替代了。 Go 語言誕生于谷歌,由計算機領域的三位宗師級大牛 Rob Pike、Ken Thompson 和 Robert Griesemer 寫成。由于出身名門,Go 在誕生之初就吸引了大批開發者的關注。誕生...
摘要:覺得好的話,順手分享到朋友圈吧,感謝支持。抓住時代的趨勢在上篇文章中,也就是那個跨維度的打擊,是可以直接秒殺的中,提到這個時代的問題,這次針對語言的前景分析,其實我也想講一下時代的問題。目前語言就處于這樣一個不錯的時代中。 本文為原創文章,轉載注明出處,asdfasdfasdf 歡迎掃碼關注公眾號flysnow_org或者網站http://www.flysnow.org/,第一時間看后...
閱讀 1275·2021-10-11 10:57
閱讀 2049·2021-09-02 15:15
閱讀 1611·2019-08-30 15:56
閱讀 1204·2019-08-30 15:55
閱讀 1162·2019-08-30 15:44
閱讀 984·2019-08-29 12:20
閱讀 1328·2019-08-29 11:12
閱讀 1070·2019-08-28 18:29
极致性价比!云服务器续费无忧!
Tesla A100/A800、Tesla V100S等多种GPU云主机特惠2折起,不限台数,续费同价。
NVIDIA RTX 40系,高性价比推理显卡,满足AI应用场景需要。
乌兰察布+上海青浦,满足东推西训AI场景需要