第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

解鎖即可觀看《Go開發(fā)工程師》完整課程視頻

Go開發(fā)工程師

未來3-5年企業(yè)高性能項目不可替代的語言,從基礎到項目實戰(zhàn)再到重構,真正從入門到精通

【第1周】Go基礎知識入門
【第2周】容器,go編程思想
【第3周】Go并發(fā)編程和工程管理
【第4周】從0開始理解rpc和grpc
【第5周】grpc和protobuf進階
【第6周】 yapi文檔管理、gorm詳解
【第7周】gin快速入門
【第8周】用戶服務的grpc服務
【第9周】用戶服務的web服務
【第10周】服務注冊/發(fā)現(xiàn)、配置中心、負載均衡
【第11周】商品微服務的grpc服務
【第12周】 商品微服務的gin層和oss圖片服務
【第13周】庫存服務和分布式鎖
【第14周】訂單和購物車微服務
【第15周】 支付寶支付、用戶操作微服務、前后端聯(lián)調
【第16周】elasticsearch實現(xiàn)搜索微服務
【第17周】 分布式理論基礎、分布式事務解決方案
【第18周】 學習rocketmq實現(xiàn)冪等性機制等
【第19周】鏈路追蹤、限流、熔斷、降級
【第20周】api網關、部署
【第21周】開發(fā)規(guī)范和go基礎擴展
【第22周】設計模式和單元測試
【第23周】protoc插件開發(fā)、cobra命令行
【第24周】log日志包設計
【第25周】ast代碼生成工具開發(fā)
【第26周】三層代碼結構
【第27周】grpc服務封裝更方便的rpc服務
【第28周】深入grpc的服務注冊、負載均衡原理
【第29周】基于gin封裝api服務
【第30周】可觀測的終極解決方案
【第31周】系統(tǒng)監(jiān)控核心
【第32周】用戶、商品服務重構
【第33周】訂單、庫存等服務重構
【第33+周】訂單服務重構、wire進行ioc控制
【第34周】通過k8s部署服務
【第34+周】devops和k8s
章節(jié)
問答
課簽
筆記
評論
占位
占位

Go語言-if語句

    Go語言的流程控制主要包括條件分支、循環(huán)和并發(fā)。在本章,我們先來談談基本的流程控制語句。具體到本小節(jié),我們將提及if語句。

    if語句一般會由關鍵字if、條件表達式和由花括號包裹的代碼塊組成。所謂代碼塊,即是包含了若干表達式和語句的序列。在Go語言中,代碼塊必須由花括號包裹。另外,這里的條件表達式是指其結果類型是bool的表達式。一條最簡單的if語句可以是:

if 100 > number { 
    number += 3
}

    這里的標識符number可以代表一個int類型的值。這條if語句的意思是:如果number的值小于100,那么就把其值增加3。我還可以在此之上添加else分支,就像這樣:

if 100 > number {
    number += 3
} else {
    number -= 2
}

    else分支的含義是,提供在條件不成立(具體到這里是number的值不小于100)的情況下需要執(zhí)行的操作。除此之外,if語句還支持串聯(lián)。請看下面的例子:  

if 100 > number {
    number += 3
} else if 100 < number {
    number -= 2
} else {
    fmt.Println("OK!")
}   

    可以看到,上述代碼很像是把多條if語句串接在一起了一樣。這樣的if語句用于對多個條件的綜合判斷。上述語句的意思是,若number的值小于100則將其加3,若number的值大于100則將其減2,若number的值等于100則打印OK!。
  
    注意,我們至此還未對number變量進行聲明。上面的示例也因此不能通過編譯。我們當然可以用單獨的語句來聲明該變量并為它賦值。但是我們也可以把這樣的變量賦值直接加入到if子句中。示例如下:

if number := 4; 100 > number {
    number += 3
} else if 100 < number {
    number -= 2
} else {
    fmt.Println("OK!")
}   

    這里的number := 4被叫做if語句的初始化子句。它應被放置在if關鍵字和條件表達式之間,并與前者由空格分隔、與后者由英文分號;分隔。注意,我們在這里使用了短變量聲明語句,即:在聲明變量number的同時為它賦值。這意味著這里的number被視為一個新的變量。它的作用域僅在這條i語句所代表的代碼塊中。也可以說,變量number對于該if語句之外的代碼來說是不可見的。我們若要在該if語句以外使用number變量就會造成編譯錯誤。
   
    另外還要注意,即使我們已經在這條if語句所代表的代碼塊之外聲明了number變量,這里的語句number := 4也是合法的。請看這個例子:

var number int
if number := 4; 100 > number {
    number += 3
} else if 100 < number {
    number -= 2
} else {
    fmt.Println("OK!")
}

    這種寫法有一個專有名詞,叫做:標識符的重聲明。實際上,只要對同一個標識符的兩次聲明各自所在的代碼塊之間存在包含的關系,就會形成對該標識符的重聲明。具體到這里,第一次聲明的number變量所在的是該if語句的外層代碼塊,而number := 4所聲明的number變量所在的是該if語句的代表代碼塊。它們之間存在包含關系。因此對number的重聲明就形成了。
  
    這種情況造成的結果就是,if語句內部對number的訪問和賦值都只會涉及到第二次聲明的那個number變量。這種現(xiàn)象也被叫做標識符的遮蔽。上述代碼被執(zhí)行完畢之后,第二次聲明的number變量的值會是7,而第一次聲明的number變量的值仍會是0。

任務

請在命令源碼文件index.go的第 行處添加一條語句,使該文件被執(zhí)行之后在標準輸出上會打印出39。

?不會了怎么辦

這條語句可以是var number int。這使得在if語句的第一個條件分支中存在了對number變量的重聲明。因而語句number += 3的執(zhí)行改變的只是第二次聲明的number變量的值。其值會由0變?yōu)?code class="marker">3。另一方面,在if語句開始處的那條初始化子句并沒有對外層的number變量進行重聲明,而只是把它的值變成了9。

||

提問題

寫筆記

公開筆記
提交
||

請驗證,完成請求

由于請求次數(shù)過多,請先驗證,完成再次請求

加群二維碼

打開微信掃碼自動綁定

您還未綁定服務號

綁定后可得到

  • · 粉絲專屬優(yōu)惠福利
  • · 大咖直播交流干貨
  • · 課程更新,問題答復提醒
  • · 賬號支付安全提醒

收藏課程后,能更快找到我哦~

使用 Ctrl+D 可將課程添加到書簽

邀請您關注公眾號
關注后,及時獲悉本課程動態(tài)

舉報

0/150
提交
取消
全部 精華 我要發(fā)布
全部 我要發(fā)布
最熱 最新
只看我的

手記推薦

更多

本次提問將花費2個積分

你的積分不足,無法發(fā)表

為什么扣積分?

本次提問將花費2個積分

繼續(xù)發(fā)表請點擊 "確定"

為什么扣積分?