Go語言流程控制(if / for)

分支結構

package mainimport ("fmt""strconv"
)/*
1.順序結構
2.分支結構
3.循環結構
*//*
if 條件1 {// 條件1為真時執行的代碼
} else if 條件2 {// 條件1為假但條件2為真時執行的代碼
} else {// 所有條件均為假時執行的代碼
}一種特殊的條件分支結構if statement;條件{執行語句}
*/
func main() {if v, e := strconv.Atoi("abc"); e != nil {fmt.Println("轉換失敗", e)} else {fmt.Println("轉換成功", v)}
}

switch 接收用戶從鍵盤輸入的成績,輸出相應的成績等級

package mainimport ("fmt""strconv"
)/*
switch{
case    變量范圍1:執行語句1case    變量范圍2:執行語句2default:執行語句3}
*/
func main() {//接收用戶從鍵盤輸入的成績,輸出相應的成績等級var score intfmt.Println("請輸入成績")fmt.Scan(&score)switch {case score < 60:fmt.Println("不及格")case score < 90:fmt.Println("良好")default:fmt.Println("優秀")}
}

switch 登錄選擇界面

package mainimport ("fmt"
)func main() {var choice intfmt.Println("please input your choice:")fmt.Scan(&choice)switch choice {case 1:fmt.Println("選擇了登錄")case 2:fmt.Println("選擇了注冊")default:fmt.Println("輸入有誤")}}

循環結構

for循環
package mainimport ("fmt"
)func main() {for i := 0; i < 10; i++ {fmt.Println(i)}//第二種方法 i := 0for i < 10 {fmt.Println(i)i++}
}

類似while循環

package mainimport ("fmt"
)func main() {var choice stringfor choice != "quit" {fmt.Println("請輸入你的選擇:")fmt.Scan(&choice)}
}

range

package mainimport ("fmt"
)func main() {for k, v := range "xyz" {fmt.Printf("key:%d,value:%c\n", k, v) //key是索引,value是字符-->key:0,value:xfmt.Println("key:", k, "value:", v)   //key是索引,value是字符-->key: 0 value: 120}
}

死循環

package mainimport ("fmt"
)func main() {for {//無限死循環   可以通過某些條件判斷  用break跳出循環}
}

break 、continue

package mainimport ("fmt"
)func main() {//break --》跳出本次循環//continue --》跳過本次循環,繼續下一次循環for k, v := range "xyz" {fmt.Println("外層循環:", k, string(v))for m, n := range "abc" {if string(n) == "b" {//continue //跳過本次循環,繼續下一次循環//一般用于后續還有代碼要執行,跳過本次循環break //跳出內層循環} else {fmt.Println("****內層循環:", m, string(n))}}}
}
題目:用戶登錄

接收用戶名和密碼輸入,判斷用戶明是否為root,密碼是否為123456

如果是,輸出登錄成功

輸入錯誤,有三次重試機會,三次用完提示登錄失敗

package mainimport ("fmt"
)func main() {var username, password stringfor i := 0; i < 3; i++ {fmt.Println("請輸入用戶名:")fmt.Scan(&username)fmt.Println("請輸入密碼:")fmt.Scan(&password)if username == "root" && password == "123456" {fmt.Println("登錄成功")break} else {fmt.Println("用戶名或密碼錯誤,請重新輸入,還有", 2-i, "次機會")}}if username != "root" || password != "123456" {fmt.Println("登錄失敗")}
}

for循環有自己的空間

for循環內創建的變量只能在循環體內使用

for循環創建的變量和父作用域的同名變量互不干涉

package mainimport ("fmt"
)var a int
func main() {//for循環有自己的空間a := 100fmt.Printf("outside a is :%d,address is %x \n", a, &a)for _, v := range "xyz" {fmt.Println("拿到的值為:", string(v))a := 1000fmt.Printf("inside a is :%d,adress is %x \n", a, &a)}
}

goto語句

package mainimport ("fmt"
)var a int
func main() {//goto語句    慎用num1 := 1
ABC:fmt.Println(num1)for num1 < 10 {num1++if num1 == 5 {goto ABC}}
}

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

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

相關文章

wx小程序設置沉浸式導航文字高度問題

第一步&#xff1a;在app.json中設置"navigationStyle": "custom"第二步驟&#xff1a;文件的home.js中// pages/test/test.js Page({/*** 頁面的初始數據*/data: {statusBarHeight: 0,navBarHeight: 44 // 自定義導航內容區高度(單位px)},/*** 生命周期函…

C++算法競賽篇:DevC++ 如何進行debug調試

C算法競賽篇&#xff1a;DevC 如何進行debug調試前言一、準備工作&#xff1a;編譯生成可執行程序二、核心步驟&#xff1a;設置斷點與啟動調試1. 設置斷點2. 啟動調試模式三、調試操作&#xff1a;逐步執行與變量監控1. 逐步執行代碼2. 監控變量值變化四、調試結束前言 在算法…

語音大模型速覽(三)- cosyvoice2

CosyVoice 2: Scalable Streaming Speech Synthesis with Large Language Models 論文鏈接&#xff1a;https://arxiv.org/pdf/2412.10117代碼鏈接&#xff1a;https://github.com/FunAudioLLM/CosyVoice 一句話總結 CosyVoice 2 是一款改進的流式語音合成模型&#xff0c;其…

-lstdc++與-static-libstdc++的用法和差異

CMakeLists.txt 里寫了&#xff1a; target_link_libraries(${PROJECT_NAME} PRIVATEgccstdc ) target_link_options(${PROJECT_NAME} PRIVATE -static-libstdc)看起來像是“鏈接了兩次 C 標準庫”&#xff0c;其實它們的作用完全不同&#xff1a;1. target_link_libraries(...…

Redis學習其二(事務,SpringBoot整合,持久化RDB和AOF)

文章目錄5,事務5.1Redis 事務不保證原子性的原因5.2事務操作過程5.3監控6,SpringBoot整合Redis6.1Redis客戶端6.1.1Jedis簡單使用6.1.2Lettuce&Jedis6.2配置相關6.3使用6.3.1使用RedisTemplate6.3.2Redis工具類7,持久化RDB7.1RDB持久化原理7.2觸發機制save命令flushall命令…

springboot項目部署到K8S

java后臺 創建harbor鏡像拉取Secret&#xff1a;kubectl create secret docker-registry harbor-regcred \--docker-server \ #harbor倉庫地址--docker-username \ #harbor 賬號--docker-password \ #harbor密碼-n productionDockerfile FROM *harbor地址*/library/custom-jdk…

【FPGA開發】一文輕松入門Modelsim的基本操作

Modelsim仿真的步驟 &#xff08;1&#xff09;創建新的工程。 &#xff08;2&#xff09;在彈出的窗口中&#xff0c;確定項目名和工作路徑&#xff0c;庫保持為work不變(如有需要可以根據需求進行更改)。 &#xff08;3&#xff09;添加已經存在的文件&#xff08;rtl代碼和t…

服務攻防-Java組件安全FastJson高版本JNDI不出網C3P0編碼繞WAF寫入文件CI鏈

服務攻防-Java組件安全&FastJson&高版本JNDI&不出網C3P0&編碼繞WAF&寫入文件CI鏈26天 原創 朝陽 Sec朝陽 2025年07月18日 09:23 湖北 標題已修改 演示環境&#xff1a; https://github.com/lemono0/FastJsonParty FastJson全版本Docker漏洞環境(涵蓋1.…

【Python】DRF核心組件詳解:Mixin與Generic視圖

在 Django REST Framework (DRF) 中&#xff0c;mixins.CreateModelMixin、mixins.ListModelMixin、GenericAPIView 和 GenericViewSet 是構建 API 視圖的核心組件。以下是對這些組件的主要方法及其職責的簡要說明&#xff0c;內容清晰且結構化&#xff1a;1. mixins.CreateMod…

HTML+CSS+JS基礎

文章目錄&#xff08;一&#xff09;html1.常見標簽&#xff08;1&#xff09;注釋&#xff08;2&#xff09;標題 h1~h6&#xff08;3&#xff09;段落 p&#xff08;4&#xff09;換行與空格 br \ &#xff08;5&#xff09;格式化標簽 b i s u&#xff08;6&#xff09;…

Vue導出Html為Word中包含圖片在Microsoft Word顯示異常問題

問題背景 碰到一個問題&#xff1a;將包含圖片和SVG數學公式的HTML內容導出為Word文檔時&#xff0c;將圖片都轉為ase64格式導出&#xff0c;在WPS Word中顯示正常&#xff0c;但是在Microsoft Word中出現圖片示異常。具體問題表現 WPS兼容性&#xff1a;在WPS中顯示正常&#…

橢圓曲線密碼學 Elliptic Curve Cryptography

密碼學是研究在存在對抗行為的情況下還能安全通信的技術。即算法加密信息&#xff0c;再算法解密出信息。加密分為兩類 1. Symmetric-key Encryption (secret key encryption) 即一種密鑰&#xff0c;加密和解密使用同一密鑰&#xff0c;可相互轉換 2. Asymmetric-key Encry…

wedo牛-----第47節(免費分享圖紙)

夸克網盤&#xff1a;https://pan.quark.cn/s/4b40a8d18979 高清圖紙源文件&#xff0c;需要的請自取

Unity | AmplifyShaderEditor插件基礎(第十集:噪聲的種類+火焰制作-下)

目錄 一、&#x1f44b;&#x1f3fb;前言 二、圓火焰 三、制作梯度 梯度成品預覽 1.GradientSample節點 2.gradient的用法 3.time節點 四、添加顏色 Color節點 五、火焰搖擺 1.X方向的移動 2.Y方向的移動 3.Z方向的移動 4.把xyz組合起來 Panner節點 六、擺放和…

黑馬Node.js全套入門教程,nodejs新教程含es6模塊化+npm+express+webpack+promise等_ts對象筆記

1.1 什么是運行環境&#xff1f; 運行環境是指代碼正常運行所需的必要環境&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; V8引擎負責解析和執行JavaScript代碼。內置API是由運行環境提供的特殊接口&#xff0c;只能在所屬的運行環境中被調用 1.2 JavaScrip…

React 項目環境變量使用指南

在 React 項目中正確使用環境變量是管理不同環境配置的關鍵技術。以下是完整的解決方案&#xff1a; 1. 創建環境變量文件 React 項目支持以下環境變量文件&#xff08;按優先級從高到低&#xff09;&#xff1a; .env.development.local (本地開發環境).env.development (開發…

Oracle 關于一些連接故障的總結

積累了幾次Oracle客戶端連接故障&#xff0c;做下總結。 文章目錄1、案例案例1&#xff1a;客戶端連接報錯ORA-12514案例2&#xff1a;客戶端連接報錯ORA-28547案例3&#xff1a;客戶端連接報錯&#xff1a;Got minus one from a read call案例4&#xff1a;客戶端連接報錯&…

V-USB USB設備模擬原理分析

V-USB USB設備模擬原理分析 通過分析V-USB項目的核心文件&#xff0c;詳細解釋這個項目是如何在AVR微控制器上模擬USB設備的&#xff1a; 1. 整體架構 V-USB是一個純軟件實現的USB低速設備驅動&#xff0c;主要由以下幾個核心文件組成&#xff1a; usbdrv.c : USB協議棧的C語言…

kafka3.6下載安裝(傳統架構/KRaft模式)+實例測試

知識補充&#xff1a; Kafka 和 ZooKeeper 的關系可以用 “協作依賴” 來概括。在 Kafka 的早期版本&#xff08;Kafka 2.8.0 之前&#xff09;中&#xff0c;ZooKeeper 是 Kafka 的核心依賴&#xff0c;用于管理集群元數據、協調 Broker 和 Controller 選舉等關鍵功能。但從 …

華控智能產品特點——產品生態全景與場景化創新

公司構建 “3X”產品戰略&#xff0c;以三大核心場景為基礎持續拓展技術外延&#xff1a; 1. 智能安防產品線軍工級指紋槍盒&#xff1a;采用6061-T6航空鋁材&#xff0c;內嵌震動報警模塊&#xff0c;非法開箱觸發90dB警鳴。為軍工企業定制的雙人認證版本需兩位授權人員同時驗…