GO语言变量和常量、语言控制语句流程
1.算術運算符 (比較簡單,可以跳過)
+? 添加兩個操作數 A+B
- 從第一個操作數中減去第二個操作數 A-B
/ 將分子除分母
% 模數運算符,整數除法的余數 B%A
++ 增加(遞增)運算符,將整數值加一 A++
--? 相減(遞減)運算符,將整數值減一 A--
代碼都懶得上了~~~~~~~
2.關系運算符(比較簡單,可以跳過)
== 檢查兩個操作數的值是否相等,如果相等,則條件為真。(A==B)結果為假
!= 檢查兩個操作數的值是否相等,如果值不相等,則條件為真。(A!=B)結果為真
> 檢查左操作數的值是否大于右操作數的值,如果是,則條件為真 (A>b) 結果為假
<?檢查左操作數的值是否小于右操作數的值,如果是,則條件為真 (A<b) 結果為真
>= 檢查左操作數的值是否大于右或等于操作數的值,如果是,則條件為真 (A>=b) 結果為假
?<= 檢查左操作數的值是否小于或等于右操作數的值,如果是,則條件為真 (A<=b) 結果為真
3.邏輯運算符(比較簡單,可以跳過)
&& 邏輯與運算符。如果兩個操作數都不為零,則條件為真。(A&&B)結果為真
|| 邏輯或運算符。如果兩個操作數中任何一個非零,則條件為真。(A || B)結果為真
!?邏輯非運算符。用于反轉其操作數的邏輯狀態。如果條件為真,則邏輯非運算符將為假。!(A && B)結果為真
4. 按拉運算符
& 按位與:都為1則結果為1? ==對應位數上都為1,結果為1
| 按位或:有一個為1 結果為1 ==對應位數上有一個為1,結果為1
^ 按位異或:對應位不同數值時結果為1?==對應位數上數值不同,結果為1
<< 左移:把數整體向左移動 ==整體向左移動1位,相當與數字中數值*2,空出以0表達
>> 右移:把數整體向右移動?==整體向右移動1位,相當與數字中數值/2,空出以0表達
byteTest.go
//程序所屬包 *必須 package main//導入依賴包import ("fmt" )//main函數 func main(){a := byte(0)b := byte(1)fmt.Println(a)fmt.Println(b)fmt.Println(a&b) //對應位數上都為1,結果為1 因為a為0,所以結果即為0fmt.Println(a|b) //對應位數上有一個為1,結果為1 因為b為a,所以結果即為1fmt.Println(a^b) //對應位數上數值不同,結果為1 因為ab值不同,所以結果即為1fmt.Println(a^a) //對應位數上數值不同,結果為1 因為兩個值相同,所以結果即為0fmt.Println(b<<1) //1*2fmt.Println(b<<3) //1*2*2*2fmt.Println(b>>1) //1/2 }5.賦值運算符
= 表達式的值賦給一個左值? ? C=A+B 將A+B表達式結果賦值給C
+= 相加后再賦值? ?C+=A 等于 C=C+A
-= 相減后再賦值?C-=A 等于 C=C-A
*=?相乘后再賦值?C*=A 等于 C=C*A
/= 相除后再賦值?C/=A 等于 C=C/A
%= 求余后再賦值?C%=A 等于 C=C%A
<<= 左移后再賦值?C<<=A 等于 C=C<<A
>>= 右移后再賦值?C>>=A 等于 C=C>>A
&= 按位與后再賦值?C&=A 等于 C=C&A
^= 按位異后再賦值?C^=A 等于 C=C^A
|= 按位或后再賦值?C|=A 等于 C=C|A
?
6.控制語句
條件語句if ,if else ,嵌套if,else if
選擇語句switch,select
switch 語句用于基于不同條件執行不同動作,每一個 case 分支都是唯一的,從上直下逐一測試,直到匹配為止。。
switch 語句執行的過程從上至下,直到找到匹配項,匹配項后面也不需要再加break
package mainimport "fmt"func main() {var x interface{} //設置A什么類型都可以switch i := x.(type) {case nil:???? fmt.Printf(" x 的類型 :%T",i) case int:???? fmt.Printf("x 是 int 型") case float64:fmt.Printf("x 是 float64 型") case func(int) float64:fmt.Printf("x 是 func(int) 型") case bool, string:fmt.Printf("x 是 bool 或 string 型" ) default:fmt.Printf("未知型") } }循環語句 for 目前只有一個for
//程序所屬包 *必須 package main//導入依賴包import ("fmt""time" )//main函數 func main(){//無限循環//for{// fmt.Println("333");// time.Sleep(1*time.Second)//}for i:=1; i<10; i++ {if i<3{fmt.Println("333");time.Sleep(1*time.Second)}}//foreach效果a :=[]string{"a", "b", "c"}for key,value:= range a{fmt.Println(key)fmt.Println(value)}//不用key,_垃圾桶for _,value:= range a{fmt.Println(value)} }控制語句中使用到的關鍵字goto,break,continue
goto 直接跳過到指定代碼塊
break 是直接跳出當前循環體,如果是嵌套循環是只能跳出當前的
continue 跳出當次循環
//程序所屬包 *必須package main//導入依賴包import ("fmt""time" )//main函數 func main(){goto One //直接運行1234,跳出下面的-----fmt.Println("--------") One :fmt.Println("1234")for i:=1; i<6; i++ {fmt.Println(i)for j:=1; j<3; j++ {fmt.Println(j)time.Sleep(1 * time.Second)break //只能跳出當前J的循環體}}for i:=1; i<6; i++ {if i<3 {fmt.Println("當前")fmt.Println(i)continue //當次循環后面不再運行}fmt.Println(i)} }結果:
1234
1
1
2
1
3
1
4
1
5
1
當前
1
當前
2
3
4
5
總結
以上是生活随笔為你收集整理的GO语言变量和常量、语言控制语句流程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 沿正方体一条棱剪开,不剪散,观察展开图,
- 下一篇: Thymeleaf 基本用法总结