10、做中學 | 五年級下期 Golang循環控制

一、一個小需求

我想要打印10遍hello world,你想怎么編寫呢?

	// 需求:打印10遍"hello world"fmt.Println("hello world")fmt.Println("hello world")fmt.Println("hello world")fmt.Println("hello world")fmt.Println("hello world")fmt.Println("hello world")fmt.Println("hello world")fmt.Println("hello world")fmt.Println("hello world")fmt.Println("hello world")

平常打印輸出一個倆個沒問題,那一旦要求100遍,1000遍怎么做呢?

go中進行打印10遍hello world,使用for循環

	// 循環for i := 0; i < 10; i++ {fmt.Println("hello world")}

二、for循環

一個for循環解決了上邊的小需求,那怎么使用for循環呢

1. for循環結構體

	for 循環變量初始化;循環判斷條件;循環變量迭代 {循環執行語句}

可以了解使用for,需要上邊的四個要素:循環變量初始化;循環判斷條件;循環變量迭代;循環執行語句

2. 循環四要素

  1. 循環初始化:聲明在循環過程中,進行判斷和變量迭代,進行控制循環次數
  2. 循環判斷條件:為true時,進行循環體下一步;為false則結束循環
  3. 循環變量迭代:進行計算循環次數,一般使用變量累加進行計算
  4. 循環執行語句:TODO 我們待開發的功能

3. 循環四要素的執行順序

  1. 第一步:循環初始化
  2. 第二步:循環判斷條件(為true進行下邊步驟)
  3. 第三步:循環執行語句
  4. 第四步:循環變量迭代
  5. 第五步:循環執行第二步–至–第四步 直到判斷條件為false,退出循環

如果判斷條件一直為true,那么該for循環,為死循環(開發過程需要禁止)

4. 嘗試for

	// 需求:循環五次,并打印每次初始化值for i := 0; i < 5; i++ {fmt.Println("i = ", i)}//i =  0//i =  1//i =  2//i =  3//i =  4

三、for變體之while

go中沒有while循環結構,但可以通過for進行變體,達到while功能的要求

	// 循環初始化var i int = 0// 循環判斷for i < 5 {// 循環語句fmt.Println("i = ", i)// 循環迭代i++}//i =  0//i =  1//i =  2//i =  3//i =  4

結構體中,可以看出,如果把for換成while,是不是就是大家熟悉的while循環呢?

四、for變體之do…while

go中沒有do…while循環結構,也可以通過for進行變體,達到do…while功能的功能

// 循環初始化var j int = 0for {// 循環語句fmt.Println("j = ", j)// 循環迭代j++// 循環判斷if j >= 5 {break}}//j =  0//j =  1//j =  2//j =  3//j =  4

五、for循環遍歷列表

使用range進行遍歷序列的值

	var str = "hello world"for index, val := range str {fmt.Printf("下標index=%d, 遍歷值val=%q\n", index, val)}//下標index=0, 遍歷值val='h'//下標index=1, 遍歷值val='e'//下標index=2, 遍歷值val='l'//下標index=3, 遍歷值val='l'//下標index=4, 遍歷值val='o'//下標index=5, 遍歷值val=' '//下標index=6, 遍歷值val='w'//下標index=7, 遍歷值val='o'//下標index=8, 遍歷值val='r'//下標index=9, 遍歷值val='l'//下標index=10, 遍歷值val='d'

六、跳出語句

剛剛在變體do…while過程中,我們使用到了break,那么為什么要使用他,他有什么作用呢?

break、continue這倆個都是出現在循環結構體中,進行循環的跳出
break: 結束當前結構體循環
continue: 結束本次循環

	for i := 0; i < 10; i++ {if i%2 == 0 {continue}fmt.Println("i=", i)if i > 5 {break}}//i= 1//i= 3//i= 5//i= 7

可以看到,偶數循環過程中,進行了跳過處理,當i大于5的時候進行中斷,當結果為7時,進行循環中斷

本章講了一些for循環的基本知識和for的幾種變體使用

  1. 知道循環和使用
  2. 熟練使用for的幾種變體
  3. 熟練使用break和continue

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/86819.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/86819.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/86819.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

機器學習算法-K近鄰算法-KNN

1. K近鄰算法是什么&#xff1f; 定義&#xff1a; K近鄰是一種基于實例的懶惰學習&#xff08;Lazy Learning&#xff09;算法&#xff0c;用于分類和回歸任務。 核心思想&#xff1a;“物以類聚”——通過計算樣本間的距離&#xff0c;找到目標點的最近K個鄰居&#xff0c;…

基于vue框架的法律知識咨詢普及系統gwuv7(程序+源碼+數據庫+調試部署+開發環境)帶論文文檔1萬字以上,文末可獲取,系統界面在最后面。

系統程序文件列表 項目功能&#xff1a;用戶,知識類型,律師,律師推薦,法律知識,新聞類型,法律新聞,咨詢律師 開題報告內容 基于Vue框架的法律知識咨詢普及系統開題報告 一、研究背景與意義 隨著法治社會建設的深入推進&#xff0c;公眾對法律知識的需求呈現爆發式增長。然而…

Netty 揭秘CompositeByteBuf:零拷貝優化核心技術

CompositeByteBuf 類 核心設計目標?? ??虛擬緩沖區??&#xff1a;將多個 ByteBuf 合并為單一邏輯視圖&#xff0c;減少數據復制。??零拷貝優化??&#xff1a;通過組合而非復制提升性能。??引用計數管理??&#xff1a;統一管理底層 ByteBuf 的生命周期。 核心成…

用css實現文字字體顏色漸變

用css實現文字字體顏色漸變 background-clip 是CSS3中新增的屬性&#xff0c;可以用于指定背景圖片或顏色的繪制范圍。利用 background-clip 屬性實現文字顏色從左到右、從綠到白的漸變效果&#xff1a; 代碼如下&#xff1a; .gradient-color {background-image: linear-gr…

SpringBatch處理數據性能優化

SpringBatch的Step默認使用同步方式批量處理數據&#xff0c;也可以通過配置將讀數改為同步&#xff0c;處理和寫入改為異步方式。 1、同步處理Step SpringBatch的Step一般由ItemReader、ItemProcessor和ItemWriter組成&#xff0c;其中ItemProcessor是可選的。他的設計思路的…

【機器學習深度學習】前饋神經網絡(單隱藏層)

目錄 一、什么是前饋神經網絡&#xff1f; 二、數學表達式是什么&#xff1f; 三、為什么需要“非線性函數”&#xff1f; 四、NumPy 實現前饋神經網絡代碼示例 五、 運行結果 六、代碼解析 6.1 初始化部分 6.2 前向傳播 6.3 計算損失&#xff08;Loss&#xff09; 6…

設計模式系列(08):創建型模式 - 原型模式

系列導讀&#xff1a;完成創建型模式的學習&#xff0c;我們來看最后一個創建型模式——原型模式。它通過復制已有對象來創建新對象&#xff0c;是一種獨特的創建方式。 解決什么問題&#xff1a;通過復制現有對象來創建新對象&#xff0c;而不是重新實例化。適用于對象創建成本…

區塊鏈到底是什么?

區塊鏈本質上是一種去中心化的分布式賬本技術&#xff0c;具有以下核心特點&#xff1a; - 去中心化&#xff1a;沒有中央管理機構&#xff0c;數據由網絡中的多個節點共同維護&#xff0c;比如比特幣網絡中各個節點都保存著完整賬本。 - 分布式存儲&#xff1a;數據不是存在一…

系統架構設計師論文分享-論ATAM的使用

我的軟考歷程 摘要 2023年2月&#xff0c;我司通過了研發紗線MES系統的立項&#xff0c;該系統為國內紗線工廠提供SAAS服務&#xff0c;旨在提高紗線工廠的數字化和智能化水平。我在本項目中擔任系統架構設計師&#xff0c;負責整個項目的架構設計工作。本文結合我在該項目中…

vue-28(服務器端渲染(SSR)簡介及其優勢)

服務器端渲染&#xff08;SSR&#xff09;簡介及其優勢 服務器端渲染&#xff08;SSR&#xff09;是現代網絡應用的關鍵技術&#xff0c;特別是使用 Vue.js 等框架構建的應用。它通過在服務器上渲染初始應用狀態來彌補傳統單頁應用&#xff08;SPA&#xff09;的局限性&#x…

工業電子 | 什么是SerDes,為何工業和汽車應用需要它?

重點內容速覽&#xff1a; 1. 什么是SerDes&#xff1f; 2. ADI&#xff1a;私有協議的GMSL將向公有協議轉變 3. TI&#xff1a;工業和汽車有兩套SerDes解決方案 4. Microchip&#xff1a;推出通用協議SerDes芯片 5. 羅姆&#xff1a;主要針對汽車領域 6. 國產SerDes芯…

大事件項目記錄4-用戶接口開發-更新用戶基本信息

4&#xff09;更新用戶基本信息。 UserController.java&#xff1a; UserMapper.java&#xff1a; Update("update user set nickname #{nickname},email #{email},update_time #{updateTime} where id #{id}")void update(User user); UserServiceInterface…

Transformer結構--輸入編碼(BPE,PE)

在Transformer結構中&#xff0c;輸入編碼是模型處理文本數據的關鍵步驟&#xff0c;其中**BPE&#xff08;Byte Pair Encoding&#xff0c;字節對編碼&#xff09;和PE&#xff08;Positional Encoding&#xff0c;位置編碼&#xff09;**是兩種重要的編碼方式&#xff0c;它們…

Confluence-測試用例設計指導方法

測試經驗知識庫 典型的測試場景驗證點各個項目有價值的經驗和測試點 測試經驗知識庫 - 草稿測試用例執行量化指導建議 何時需要進行全量測試和如何定義和執行測試用例量的一些建議和標準 端對端&#xff08;E2E&#xff09;測試用例設計指導方案 在測試行業中&#xff0c;端到端…

淺析JVM

一、JVM運行流程 如圖&#xff1a; JVM由四個部分構成&#xff1a; 1.類加載器 加載類文件到內存2.運行時數據區 寫的程序需要加載到這里才能運行3.執行引擎 負責解釋命令&#xff0c;提交操作系統執行4.本地接口 融合不同編程語言為java所用&#xff0c;如Java程序驅動打印…

多個 Job 并發運行時共享配置文件導致上下文污染,固化 Jenkins Job 上下文

基于 context.py 固化 Jenkins Job 上下文的完整方案&#xff0c;適用于你當前的工作流&#xff08;Python Jenkins Pipeline&#xff09;&#xff0c;解決&#xff1a; 多個 Job 并發運行時共享配置文件導致上下文污染&#xff1b;讀取環境變量或 JSON 文件時被其他 Job 修改…

簡木易支付系統 功能齊全,對接接口超多

簡木易支付系統&#xff0c;作為一款引領行業潮流的卓越支付解決方案&#xff0c;依托先進的 PHP MySQL 技術架構精心打造。在開發過程中&#xff0c;它巧妙運用了功能強大的 ThinkPHP8 框架&#xff0c;完美融合前端主流技術 Vue、Element 以及 Layuiadmin&#xff0c;共同鑄…

【軟考高項論文】信息系統項目的人力資源管理

摘要 本文圍繞信息系統項目的人力資源管理展開論述。以我在2024年參與的為大型國有企業構建供應鏈管理系統項目為例&#xff0c;闡述了項目人力資源管理的主要流程&#xff0c;包括規劃、組建、建設和管理團隊四個過程&#xff0c;以及所運用的工具和理論。同時&#xff0c;分…

【EI會議征稿】東北大學主辦第三屆機器視覺、圖像處理與影像技術國際會議(MVIPIT 2025)

一、會議信息 大會官網&#xff1a;www.mvipit.org 官方郵箱&#xff1a;mvipit163.com 會議地點&#xff1a;遼寧沈陽 主辦單位&#xff1a;東北大學 會議時間&#xff1a;2025 年 9 月 27 日-9 月 29 日 二、征稿主題 集中但不限于“機器視覺、圖像處理與影像技術”等其…

從零開始的云計算生活——第二十三天,稍作休息,Tomcat

目錄 一.故事背景 二.Tomcat概述 1、Tomcat介紹 2、Tomcat歷史 二、Tomcat原理分析 1、Http工作原理 2、Tomcat整體架構 3、Coyote連接器架構 4、Catalina容器架構 5、Jasper處理流程 6、JSP編譯過程 7、Tomcat啟動流程 8、Tomcat請求處理流程 三、Tomcat安裝與配…