go語言中的if語句和其他語言中的類似,都是根據(jù)給定的條件表達(dá)式運(yùn)算結(jié)果來,判斷執(zhí)行流程。
成都創(chuàng)新互聯(lián)公司云計(jì)算的互聯(lián)網(wǎng)服務(wù)提供商,擁有超過13年的服務(wù)器租用、四川電信科技城機(jī)房、云服務(wù)器、雅安服務(wù)器托管、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn),已先后獲得國家工業(yè)和信息化部頒發(fā)的互聯(lián)網(wǎng)數(shù)據(jù)中心業(yè)務(wù)許可證。專業(yè)提供云主機(jī)、雅安服務(wù)器托管、主機(jī)域名、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
注意:在go語言中 布爾表達(dá)式不用使用括號(hào)。
根據(jù)布爾值flag判斷
程序運(yùn)行結(jié)果
初始變量可以聲明在布爾表達(dá)式里面,注意它的作用域
程序運(yùn)行結(jié)果
注意:不能使用0或非0表示真假
go語言if語句使用提示:
go語言中的if else語句可以根據(jù)給定條件二選一。
比較兩個(gè)數(shù)的大小
運(yùn)行結(jié)果
判斷一個(gè)數(shù)是奇數(shù)還是偶數(shù)
運(yùn)行結(jié)果
判斷一個(gè)人是否成年
運(yùn)行結(jié)果
特殊寫法,在if前面添加執(zhí)行語句
運(yùn)行結(jié)果
go語言if語句使用提示:
go語言if語句可以進(jìn)行多重嵌套使用,進(jìn)行多重判斷。
根據(jù)分?jǐn)?shù)判斷等級(jí)
運(yùn)行結(jié)果
同樣也可以寫成這樣
運(yùn)行結(jié)果
輸入星期幾的第一個(gè)字母來判斷一下是星期幾,如果第一個(gè)字母一樣,則繼續(xù)判斷第二個(gè)字母
運(yùn)行結(jié)果
go語言if語句可以嵌套多級(jí)進(jìn)行判斷。
判斷三個(gè)數(shù)的大小
運(yùn)行結(jié)果
判斷男生還是女生,還有是否成年
運(yùn)行結(jié)果
Go(又稱 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 開發(fā)的一種靜態(tài)強(qiáng)類型、編譯型語言。Go 語言語法與 C 相近,但功能上有:內(nèi)存安全,GC(垃圾回收),結(jié)構(gòu)形態(tài)及 CSP-style 并發(fā)計(jì)算。
go語言特點(diǎn)
go語言的應(yīng)用領(lǐng)域
哪些公司(項(xiàng)目)在使用go語言
下載開發(fā)包
windows下安裝
1.打開下載的msi可執(zhí)行文件,根據(jù)提示進(jìn)行安裝。默認(rèn)會(huì)安裝在c:/Program Files/go目錄下面。會(huì)自動(dòng)添加go可執(zhí)行文件環(huán)境變量。
2.驗(yàn)證安裝情況
a.打開命令行
b. 輸入$ go version
linux下安裝
1.在/usr/local/下面創(chuàng)建一個(gè)目錄go
2.下載壓縮文件到該目錄(/usr/local/go),并解壓縮
3.添加/usr/local/go/bin到PATH環(huán)境變量,打開$HOME/.profile 或者/etc/profile輸入如下內(nèi)容:
4.執(zhí)行如下命令使得配置文件及時(shí)生效
驗(yàn)證
1.如果你的mac有Homebrew包管理工具,可以使用它來安裝
2.如果沒有下載mac安裝包,根據(jù)提示安裝
3.默認(rèn)安裝在/usr/local/go下面
4.設(shè)置環(huán)境變量,同Linux
Go提供了一種稱為通道的機(jī)制,用于在goroutine之間共享數(shù)據(jù)。當(dāng)您作為goroutine執(zhí)行并發(fā)活動(dòng)時(shí),需要在goroutine之間共享資源或數(shù)據(jù),通道充當(dāng)goroutine之間的管道(管道)并提供一種機(jī)制來保證同步交換。
根據(jù)數(shù)據(jù)交換的行為,有兩種類型的通道:無緩沖通道和緩沖通道。無緩沖通道用于執(zhí)行g(shù)oroutine之間的同步通信,而緩沖通道用于執(zhí)行異步通信。無緩沖通道保證在發(fā)送和接收發(fā)生的瞬間兩個(gè)goroutine之間的交換。緩沖通道沒有這樣的保證。
通道由make函數(shù)創(chuàng)建,該函數(shù)指定chan關(guān)鍵字和通道的元素類型。
這是創(chuàng)建無緩沖和緩沖通道的代碼塊:
語法
使用內(nèi)置函數(shù)make創(chuàng)建無緩沖和緩沖通道。make的第一個(gè)參數(shù)需要關(guān)鍵字chan,然后是通道允許交換的數(shù)據(jù)類型。
這是將值發(fā)送到通道的代碼塊需要使用-運(yùn)算符:
語法
一個(gè)包含5個(gè)值的緩沖區(qū)的字符串類型的goroutine1通道。然后我們通過通道發(fā)送字符串“Australia”。
這是從通道接收值的代碼塊:
語法
- 運(yùn)算符附加到通道變量(goroutine1)的左側(cè),以接收來自通道的值。
在無緩沖通道中,在接收到任何值之前沒有能力保存它。在這種類型的通道中,發(fā)送和接收goroutine在任何發(fā)送或接收操作完成之前的同一時(shí)刻都準(zhǔn)備就緒。如果兩個(gè)goroutine沒有在同一時(shí)刻準(zhǔn)備好,則通道會(huì)讓執(zhí)行其各自發(fā)送或接收操作的goroutine首先等待。同步是通道上發(fā)送和接收之間交互的基礎(chǔ)。沒有另一個(gè)就不可能發(fā)生。
在緩沖通道中,有能力在接收到一個(gè)或多個(gè)值之前保存它們。在這種類型的通道中,不要強(qiáng)制goroutine在同一時(shí)刻準(zhǔn)備好執(zhí)行發(fā)送和接收。當(dāng)發(fā)送和接收阻塞時(shí)也有不同的條件。只有當(dāng)通道中沒有要接收的值時(shí),接收才會(huì)阻塞。僅當(dāng)沒有可用緩沖區(qū)來放置正在發(fā)送的值時(shí),發(fā)送才會(huì)阻塞。
實(shí)例
運(yùn)行結(jié)果