您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“如何了解Go語(yǔ)言基礎(chǔ)之運(yùn)算符和流程控制”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
運(yùn)算符這個(gè)名字聽(tīng)著玄乎,其實(shí)我們平常見(jiàn)的很多了,就像=
,+
,/
之類(lèi)的。
運(yùn)算符主要分為
算數(shù)運(yùn)算符
關(guān)系運(yùn)算符
邏輯運(yùn)算符
位運(yùn)算符
賦值運(yùn)算符
下面就來(lái)簡(jiǎn)單了解以下叭。
算數(shù)運(yùn)算符顧名思義,主要用在算數(shù)中,加減乘除了啥的
簡(jiǎn)單了解以下叭。
運(yùn)算符 | 描述 |
---|---|
+ | 相加 |
- | 相減 |
* | 相乘 |
/ | 相除 |
% | 求余 |
++ | 自加 |
-- | 自減 |
運(yùn)算符 | 描述 |
---|---|
== | 檢查兩個(gè)值是否相等,如果相等返回 True 否則返回 False |
!= | 檢查兩個(gè)值是否不相等,如果不相等返回 True 否則返回 False |
> | 檢查左邊值是否大于右邊值,如果是返回 True 否則返回 False |
>= | 檢查左邊值是否大于等于右邊值,如果是返回 True 否則返回 False |
< | 檢查左邊值是否小于右邊值,如果是返回 True 否則返回 False |
<= | 檢查左邊值是否小于等于右邊值,如果是返回 True 否則返回 False |
運(yùn)算符 | 描述 |
---|---|
&& | 邏輯 and 運(yùn)算符。 如果兩邊的操作數(shù)都是 True,則為 True,否則為 False |
|| | 邏輯 or 運(yùn)算符。 如果兩邊的操作數(shù)有一個(gè) True,則為 True,否則為 False |
! | 邏輯 NOT 運(yùn)算符。 如果條件為 True,則為 False,否則為 True |
注:邏輯運(yùn)算符是很重要的,開(kāi)發(fā)中經(jīng)常用到。
位運(yùn)算符有些底層,特殊情況會(huì)用到
運(yùn)算符 | 描述 |
---|---|
& | 參與運(yùn)算的兩數(shù)各對(duì)應(yīng)的二進(jìn)位相與。 (兩位均為1才為1) |
| | 參與運(yùn)算的兩數(shù)各對(duì)應(yīng)的二進(jìn)位相或。 (兩位有一個(gè)為1就為1) |
^ | 參與運(yùn)算的兩數(shù)各對(duì)應(yīng)的二進(jìn)位相異或,當(dāng)兩對(duì)應(yīng)的二進(jìn)位相異時(shí),結(jié)果為1。 (兩位不一樣則為1) |
<< | 左移n位就是乘以2的n次方。 “a<<b”是把a(bǔ)的各二進(jìn)位全部左移b位,高位丟棄,低位補(bǔ)0。 |
>> | 右移n位就是除以2的n次方。 “a>>b”是把a(bǔ)的各二進(jìn)位全部右移b位。 |
賦值運(yùn)算符在開(kāi)發(fā)中用的也是比較多的。
運(yùn)算符 | 描述 |
---|---|
= | 簡(jiǎn)單的賦值運(yùn)算符,將一個(gè)表達(dá)式的值賦給一個(gè)左值 |
+= | 相加后再賦值 |
-= | 相減后再賦值 |
*= | 相乘后再賦值 |
/= | 相除后再賦值 |
%= | 求余后再賦值 |
<<= | 左移后賦值 |
>>= | 右移后賦值 |
&= | 按位與后賦值 |
|= | 按位或后賦值 |
^= | 按位異或后賦值 |
在Go中,流程控制有以下幾種。
if
if
switch case
for
標(biāo)準(zhǔn)for
forrange
goto(慎用)
語(yǔ)法
//方式一,一個(gè)ifif 條件{ //執(zhí)行語(yǔ)句}//方式二,if條件不成功執(zhí)行elseif 條件{ //if成功語(yǔ)句}else{ //if不成功語(yǔ)句}//方式三,帶有else if得if 條件1{ //if成功語(yǔ)句}else if 條件2{ //if不成功,繼續(xù)else if條件}else{ //上面都不成功,執(zhí)行else}
例子
package main
import "fmt"
func main() {
var gender = "男"
if gender == "男" {
fmt.Println("男")
} else if gender == "女" {
fmt.Println("女")
} else {
fmt.Println("啥都不是???")
}
}
switch case
和if
本質(zhì)是一個(gè)東西,但是在某些場(chǎng)景,switch
是比if
更加簡(jiǎn)潔的。
代碼
package main
import "fmt"
func main() {
var week = 3
switch week {
case 1:
fmt.Println("周一")
case 2:
fmt.Println("周二")
case 3:
fmt.Println("周三")
case 4:
fmt.Println("周四")
case 5:
fmt.Println("周五")
case 6:
fmt.Println("周六")
case 7:
fmt.Println("周日")
default://如果上面都沒(méi)執(zhí)行,會(huì)執(zhí)行default
fmt.Println("星期八????")
}
}
注:在Go中,switch
是沒(méi)有case穿透的。
Go的switch
可以case
多個(gè)值。
package main
import "fmt"
func main() {
var week = 3
switch week {
case 1, 2, 3, 4, 5:
fmt.Println("上班")
case 6:
fmt.Println("周六睡懶覺(jué)")
case 7:
fmt.Println("周日去旅游")
default:
fmt.Println("飛天了???")
}
}
語(yǔ)法
for 初始條件;判斷條件;結(jié)束條件{ 語(yǔ)句}
代碼
package main
import "fmt"
func main() {
for i := 0; i < 10; i++ {
fmt.Println(i)
}
}
謹(jǐn)慎執(zhí)行!??!
package main
import "fmt"
func main() {
for{
fmt.Println("666")
}
}
for ragne
可以很方便循環(huán)數(shù)組,切片,字符串,map,channel等。
遍歷數(shù)組示例
package main
import "fmt"
func main() {
var student_list = [...]string{"張三", "李四", "王五"}
for index, v := range student_list {
//index為下標(biāo),v是每一個(gè)的值
fmt.Println(index, v)
}
}
注:
如果數(shù)組,切片,字符串 index是下標(biāo),v是值如果是map index是鍵,v是對(duì)(值)如果是通道 只有一個(gè)值,就是通道內(nèi)的值
補(bǔ)充:
在Go中,只有for循環(huán),沒(méi)有while。
for循環(huán)就兩種方式。
goto
可以通過(guò)標(biāo)簽在代碼間無(wú)條件跳轉(zhuǎn),這就造成了一個(gè)局面,如果使用gote
過(guò)多,會(huì)造成邏輯混亂,跳來(lái)跳去。
所以,在開(kāi)發(fā)中,要慎用,不到萬(wàn)不得已,不要使用。
示例
package main
import "fmt"
func main() {
for i := 0; i < 10; i++ {
for j := 0; j < 10; j++ {
if j == 2 {
// 直接跳轉(zhuǎn)到下面的 breakTag 標(biāo)簽
goto breakTag
}
fmt.Printf("%v-%v\n", i, j)
}
}
//要跳轉(zhuǎn)的標(biāo)簽
breakTag:
fmt.Println("結(jié)束for循環(huán)")
}
“如何了解Go語(yǔ)言基礎(chǔ)之運(yùn)算符和流程控制”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。