B2B网站_日本理论_B2B免费发布信息网站_日本看片网站_B2B企业贸易平台 -日本看片网站- 企资网

二維碼
企資網(wǎng)

掃一掃關(guān)注

當(dāng)前位置: 首頁 » 企業(yè)資訊 » 咨詢 » 正文

什么是_Go語言的分支語句?

放大字體  縮小字體 發(fā)布日期:2023-03-20 11:41:14    作者:葉雨琦    瀏覽次數(shù):99
導(dǎo)讀

本文首發(fā)自「慕課網(wǎng)」,想了解更多IT干貨內(nèi)容,程序員圈內(nèi)熱聞,歡迎關(guān)注!作者|慕課網(wǎng)精英講師 Codey本文主要學(xué)習(xí) Go 語言中的分支語句。一共要介紹的有兩個(gè),分別是 if…else 和 switch…case。他們二者在 Go 語言

本文首發(fā)自「慕課網(wǎng)」,想了解更多IT干貨內(nèi)容,程序員圈內(nèi)熱聞,歡迎關(guān)注!

作者|慕課網(wǎng)精英講師 Codey

本文主要學(xué)習(xí) Go 語言中的分支語句。一共要介紹的有兩個(gè),分別是 if…else 和 switch…case。他們二者在 Go 語言中都做了新的功能拓展。

Tips:其中還有一個(gè)分支語句 select…case 我們將在 Go 語言的通道中介紹。

1. if…else

在 Go 語言中 if 關(guān)鍵字的作用和其它大部分語言相同,是用于測試某個(gè)布爾表達(dá)式或布爾值是否為真的。若為真則執(zhí)行 if 之后 {} 中的語句,否則跳過這些語句。如果存在第二個(gè)分支,則需要使用 else 關(guān)鍵字,還需要增加分支的話就需要使用 else if 關(guān)鍵字了。

示例代碼:

package mainimport "fmt"func main() { a := 10 if a > 10 { fmt.Println("a大于10") } else if a < 0 { fmt.Println("a小于0") } else { fmt.Println("a的值是", a) }}代碼塊1234567891011121314

  • 第 7 行:判斷 a 是否大于 10,顯然不滿足,代碼走向下一個(gè)分支 else if。Go 語言中的 if 的條件語句不需要使用 ();
  • 第 9 行:繼續(xù)判斷 a 是否小于 0,顯然也不滿足,走向最后一個(gè)分支 else。因?yàn)?Go 語言中使用 回車符來象征語句結(jié)束,所以 esle 必須寫成 }else{ 的形式,不然就識(shí)別為 if 語句結(jié)束了;
  • 第 11 行:之前的分支條件都不成立,執(zhí)行最后一個(gè)分支;
  • 第 12 行:打印變量 a 的值。

    輸出結(jié)果:

    在 Go 語言中,if 后的條件表達(dá)式,還有一種特別的寫法,可以在條件表達(dá)式之前寫一個(gè)賦值表達(dá)式。

    if…else 的特殊用法:

    package mainimport "fmt"func main() { if a := 10; a > 10 { //賦值表達(dá)式和條件表達(dá)式之間使用;隔開 fmt.Println("a大于10") } else { fmt.Println("a的值是", a) }}代碼塊1234567891011

    執(zhí)行結(jié)果:

    2. switch…case

    Go 語言對(duì) switch…case 的功能進(jìn)行了擴(kuò)展,它變得更加的通用。switch 之后可以什么都不帶。case 也無需是一個(gè)固定值,也可以是一個(gè)布爾表達(dá)式,而且每一個(gè) case 都是一個(gè) 獨(dú)立的代碼塊,執(zhí)行完了之后立刻跳出 switch,不需要使用 break。所以可以把 if…else 完美的改寫成 switch…case 的形式。

    Tips:還有一種 switch 語句叫做 type switch,我們將在學(xué)習(xí)接口時(shí)介紹它

    switch…case 傳統(tǒng)用法代碼示例:

    package mainimport "fmt"func main() { a := "A" switch a { case "A", "a": fmt.Println("分?jǐn)?shù)區(qū)間為90~100") case "B", "b": fmt.Println("分?jǐn)?shù)區(qū)間為70~89") case "C", "c": fmt.Println("分?jǐn)?shù)區(qū)間為0~70") default: fmt.Println("錯(cuò)誤的評(píng)分") }}代碼塊1234567891011121314151617

  • 第 7 行:和傳統(tǒng)用法一致,去求變量 A 的值和那個(gè) case 匹配;
  • 第 8 行:case 后面的值使用逗號(hào)隔開,用于表示匹配任意一個(gè)值;
  • 第 14 行:每一個(gè) switch 中最多可以帶一個(gè) default。

    輸出結(jié)果:

    switch…case Go 語言中的新用法:

    package mainimport "fmt"func main() { a := 50 switch { case a < 60: fmt.Println("不及格") case a < 80: fmt.Println("良好") case a <= 100: fmt.Println("優(yōu)秀") default: fmt.Println("分?jǐn)?shù)最多為100分") }}代碼塊1234567891011121314151617

  • 第 7 行:switch 后不帶任何參數(shù),直接執(zhí)行第 1 個(gè) case 的判定;
  • 第 8 行:case 后面帶的是一個(gè)布爾表達(dá)式,若值為 true ,則執(zhí)行其后代碼塊;
  • 第 14 行:default 在這里就充當(dāng) else 的角色。

    輸出結(jié)果:

    3. 小結(jié)

    本文主要學(xué)習(xí)了 Go 語言中的分支結(jié)構(gòu),其中需要注意的是在 Go 語言中的特殊寫法:

  • if 的條件表達(dá)式無需使用括號(hào);
  • if 的條件表達(dá)式之前可以跟一個(gè)賦值表達(dá)式,與條件表達(dá)式之間使用 ; 分割;
  • switch 關(guān)鍵字之后可以不帶變量;
  • case 關(guān)鍵字后面可以跟布爾表達(dá)式;
  • if…else 語句中,else if 如果特別多的情況下一般建議使用 switc…case 來代替。

    歡迎關(guān)注「慕課網(wǎng)」,發(fā)現(xiàn)更多IT圈優(yōu)質(zhì)內(nèi)容,分享干貨知識(shí),幫助你成為更好的程序員!

  •  
    (文/葉雨琦)
    免責(zé)聲明
    本文僅代表作發(fā)布者:葉雨琦個(gè)人觀點(diǎn),本站未對(duì)其內(nèi)容進(jìn)行核實(shí),請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內(nèi)容,一經(jīng)發(fā)現(xiàn),立即刪除,需自行承擔(dān)相應(yīng)責(zé)任。涉及到版權(quán)或其他問題,請及時(shí)聯(lián)系我們刪除處理郵件:weilaitui@qq.com。
     

    Copyright ? 2016 - 2025 - 企資網(wǎng) 48903.COM All Rights Reserved 粵公網(wǎng)安備 44030702000589號(hào)

    粵ICP備16078936號(hào)

    微信

    關(guān)注
    微信

    微信二維碼

    WAP二維碼

    客服

    聯(lián)系
    客服

    聯(lián)系客服:

    在線QQ: 303377504

    客服電話: 020-82301567

    E_mail郵箱: weilaitui@qq.com

    微信公眾號(hào): weishitui

    客服001 客服002 客服003

    工作時(shí)間:

    周一至周五: 09:00 - 18:00

    反饋

    用戶
    反饋

    主站蜘蛛池模板: 众品地板网-地板品牌招商_地板装修设计_地板门户的首选网络媒体。 | 冻干机(冷冻干燥机)_小型|实验型|食品真空冷冻干燥机-松源 | 正压密封性测试仪-静态发色仪-导丝头柔软性测试仪-济南恒品机电技术有限公司 | 合肥钣金加工-安徽激光切割加工-机箱机柜加工厂家-合肥通快 | 叉车电池-叉车电瓶-叉车蓄电池-铅酸蓄电池-电动叉车蓄电池生产厂家 | 常州律师事务所_常州律所_常州律师-江苏乐天律师事务所 | 高压分散机(高压细胞破碎仪)百科-北京天恩瀚拓 | 深圳美安可自动化设备有限公司,喷码机,定制喷码机,二维码喷码机,深圳喷码机,纸箱喷码机,东莞喷码机 UV喷码机,日期喷码机,鸡蛋喷码机,管芯喷码机,管内壁喷码机,喷码机厂家 | 冷却塔降噪隔音_冷却塔噪声治理_冷却塔噪音处理厂家-广东康明冷却塔降噪厂家 | 电动葫芦-河北悍象起重机械有限公司 | 微型驱动系统解决方案-深圳市兆威机电股份有限公司 | 电动不锈钢套筒阀-球面偏置气动钟阀-三通换向阀止回阀-永嘉鸿宇阀门有限公司 | 广西正涛环保工程有限公司【官网】| 东莞工厂厂房装修_无尘车间施工_钢结构工程安装-广东集景建筑装饰设计工程有限公司 | 北京银联移动POS机办理_收银POS机_智能pos机_刷卡机_收银系统_个人POS机-谷骐科技【官网】 | 二维运动混料机,加热型混料机,干粉混料机-南京腾阳干燥设备厂 | 工控机-工业平板电脑-研华工控机-研越无风扇嵌入式box工控机 | 鄂泉泵业官网|(杭州、上海、全国畅销)大流量防汛排涝泵-LW立式排污泵 | 网站seo优化_seo云优化_搜索引擎seo_启新网络服务中心 | 高压包-点火器-高压发生器-点火变压器-江苏天网 | 污水/卧式/潜水/钻井/矿用/大型/小型/泥浆泵,价格,参数,型号,厂家 - 安平县鼎千泵业制造厂 | 超声波成孔成槽质量检测仪-压浆机-桥梁预应力智能张拉设备-上海硕冠检测设备有限公司 | 涡轮流量计_LWGY智能气体液体电池供电计量表-金湖凯铭仪表有限公司 | 匀胶机旋涂仪-声扫显微镜-工业水浸超声-安赛斯(北京)科技有限公司 | 溶氧传感器-pH传感器|哈美顿(hamilton) | 大_小鼠elisa试剂盒-植物_人Elisa试剂盒-PCR荧光定量试剂盒-上海一研生物科技有限公司 | 真石漆,山东真石漆,真石漆厂家,真石漆价格-山东新佳涂料有限公司 | 花纹铝板,合金铝卷板,阴极铝板-济南恒诚铝业有限公司 | ICP备案查询_APP备案查询_小程序备案查询 - 备案巴巴 | 高清视频编码器,4K音视频编解码器,直播编码器,流媒体服务器,深圳海威视讯技术有限公司 | 塑料脸盆批发,塑料盆生产厂家,临沂塑料广告盆,临沂家用塑料盆-临沂市永顺塑业 | 加气混凝土砌块设备,轻质砖设备,蒸养砖设备,新型墙体设备-河南省杜甫机械制造有限公司 | 深圳品牌设计公司-LOGO设计公司-VI设计公司-未壳创意 | 焊缝跟踪系统_激光位移传感器_激光焊缝跟踪传感器-创想智控 | 考勤系统_考勤管理系统_网络考勤软件_政企|集团|工厂复杂考勤工时统计排班管理系统_天时考勤 | 特材真空腔体_哈氏合金/镍基合金/纯镍腔体-无锡国德机械制造有限公司 | 尊享蟹太太美味,大闸蟹礼卡|礼券|礼盒在线预订-蟹太太官网 | 永嘉县奥阳陶瓷阀门有限公司 | 骨密度仪-骨密度测定仪-超声骨密度仪-骨龄测定仪-天津开发区圣鸿医疗器械有限公司 | 实体店商新零售|微赢|波后|波后合作|微赢集团 | 数显恒温油浴-电砂浴-高温油浴振荡器-常州迈科诺仪器有限公司 |