工程建设标准化期刊网站,网页浏览器在哪里打开,定制手机软件,国外做二手服装网站有哪些问题流程控制 文章目录 流程控制一、if 语句1.if 嵌套语句 二、switch 语句三、for 循环四、string 程序的流程控制结构一具有三种#xff1a;顺序结构#xff0c;选择结构#xff0c;循环结构 顺序结构#xff1a;从上到下#xff0c;逐行执行。默认的逻辑 选择结构#xf…流程控制 文章目录 流程控制一、if 语句1.if 嵌套语句 二、switch 语句三、for 循环四、string 程序的流程控制结构一具有三种顺序结构选择结构循环结构 顺序结构从上到下逐行执行。默认的逻辑 选择结构条件满足某些代码才会执行 if switch select ,后面 channel 再讲 循环结构:条件满足某些代码会被反复执行0-N次 for
一、if 语句
条件语句需要开发者通过指定一个或多个条件,并通过测试条件是否为 true 来决定是否执行指定语句,并在条件为false的情况在执行另外的语句。
下图展示了程序语言中条件语句的结构
package mainimport fmtfunc main() {// 分数var score int 66if score 90 score 100 {fmt.Println(优秀)} else if score 80 score 90 {fmt.Println(良好)} else if score 60 score 80 {fmt.Println(及格)} else {fmt.Println(不及格)}}输出
1.if 嵌套语句
if 布尔表社式 1 {/* 在布尔表达式 1 为 true 3执行 */if 布尔表达式 2 {/* 在布尔表达式 2 true 时执行 */}
}package mainimport fmtfunc main() {var one, two int// 初始密码var pwd int 12345678// 接收用户输入密码fmt.Print(请输入密码)fmt.Scan(one)// 功能验证密码是否正确if one pwd {fmt.Print(请再次输入密码)fmt.Scan(two)if two pwd {fmt.Println(登录成功)} else {fmt.Println(第二次输入密码错误登录失败请重新输入密码……)}} else {fmt.Println(输入密码错误登录失败请重新输入密码……)}}
输出
二、switch 语句
switch语句用于基于不同条件执行不同动作,每一个case分支都是唯一的,从上至下逐一测试直到匹配为止。
switch var1 { case test1:...case test2:... defauIt:...
}switch语句执行的过程从上至下直到找到匹配项,匹配项后面也不需要再加 break.。switch默认情况下 case 最后自带 break 语句
package mainimport fmtfunc main() {var score string D// 匹配switch score {case A:fmt.Println(等级为A成绩在90~100范围内)case B:fmt.Println(等级为B成绩在80~90范围内)case C:fmt.Println(等级为C成绩在60~79范围内)default:fmt.Println(等级为D成绩在0~59范围内)}// switch 默认条件 bool trueswitch {case false:fmt.Println(false)case true:fmt.Println(true)default:fmt.Println(其他)}
}输出 fallthrough 贯穿直通 switch默认情况下匹配成功后就不会执行其他case,如果我们需要执行后面的case,可以使用 fallthrough 穿透case使用 fallthrough 会强制执行后面的 case 语句fallthrough不会判断下条case的表达结果是否为true.
package mainimport fmtfunc main() {a : false// switch 默认条件 bool trueswitch a {case false:fmt.Println(false)fallthrough // case 穿透不管下一个条件是否满足都会执行case true:fmt.Println(true)default:fmt.Println(其他)}
}
输出
package mainimport fmtfunc main() {a : false// switch 默认条件 bool trueswitch a {case false:fmt.Println(false)fallthrough // case 穿透不管下一个条件是否满足都会执行case true:if a false {break // 终止 case 穿透}fmt.Println(true)default:fmt.Println(其他)}
}
输出
三、for 循环
在不少实际问题中有许多具有规律性的重复操作因此在程序中就需要重复执行某些语句。for 循环是一个循环控制结构可以执行指定次数的循环。
package mainimport fmtfunc main() {// for 条件的起始值;循环条件;控制变量自增或自减// for ;循环条件;// for {} 无限循环i : 1for {fmt.Println(i)i}sum : 0// for 给控制变量赋值初值循环条件给控制变量增量或减量\// 计算 1 到 10 的数字之和for i : 1; i 10; i {// 循环体sum i}fmt.Println(sum)
}栗子输出一个10*10的方阵
package mainimport fmtfunc main() {// i 控制行, j 控制列 for i : 0; i 10; i {for j : 0; j 10; j {fmt.Print(* )}fmt.Println()}}输出 栗子九九乘法表
package mainimport fmtfunc main() {// i 控制行, j 控制列for i : 1; i 10; i {for j : 1; j i; j {fmt.Printf(%d*%d%d \t, j, i, j*i)}fmt.Println()}}输出 break 结束当前整个循环 package mainimport fmtfunc main() {for i : 1; i 6; i {if i 4 {break}fmt.Println(i)}} continue 结束本次循环 package mainimport fmtfunc main() {for i : 1; i 6; i {if i 4 {continue}fmt.Println(i)}}
输出
四、string 什么是String Go中的字符串是一个字节的切片可以通过将其内容封装在中来创建字符串Go中的字符串是 Unicode 兼容的并日是 UTF-8 编码。字符串是一些字节的集合。
package mainimport fmtfunc main() {str : hello,guanfmt.Println(str)// 获取字符串的长度 lenfmt.Println(字符串长度为, len(str))// 获取指定的字节fmt.Println(字节打印, str[4])fmt.Printf(%c, str[4])fmt.Println()for i : 0; i len(str); i {fmt.Printf(%c\n, str[i])}// for range 循环遍历数组、切片....// 返回下标和对应的值使用这个值就行了for i, v : range str {fmt.Print(i)fmt.Print(--)fmt.Printf(%c, v)fmt.Println()}}