博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
区块链分支循环
阅读量:6984 次
发布时间:2019-06-27

本文共 2109 字,大约阅读时间需要 7 分钟。

想知道更多关于区块链技术知识,请百度【链客区块链技术问答社区】链客,有问必答!!

 

程序的流程控制结构一共有三种:顺序结构,选择结构,循环结构。
一、条件语句
1.1 If语句
语法格式:
if 布尔表达式 {
/ 在布尔表达式为 true 时执行 /
}
if 布尔表达式 {
/ 在布尔表达式为 true 时执行 /
} else {
/ 在布尔表达式为 false 时执行 /
}
if 布尔表达式1 {
/ 在布尔表达式1为 true 时执行 /
} else if 布尔表达式2{
/ 在布尔表达式1为 false ,布尔表达式2为true时执行 /
} else{
/ 在上面两个布尔表达式都为false时,执行/
}
示例代码:
package main
import "fmt"
func main() {
/ 定义局部变量 /
var a int = 10

/ 使用 if 语句判断布尔表达式 /

if a < 20 {

/* 如果条件为 true 则执行以下语句 */   fmt.Printf("a 小于 20\n" )

}

fmt.Printf("a 的值为 : %dn", a)
}
如果其中包含一个可选的语句组件(在评估条件之前执行),则还有一个变体。它的语法是
if statement; condition {
}
if condition{

}

示例代码:
package main
import (

"fmt"

)

func main() {

if num := 10; num % 2 == 0 { //checks if number is even    fmt.Println(num,"is even") }  else {    fmt.Println(num,"is odd")}

}

需要注意的是,num的定义在if里,那么只能够在该if..else语句块中使用,否则编译器会报错的。

1.2 switch 语句
1.2.1 switch的语法
switch是一个条件语句,它计算表达式并将其与可能匹配的列表进行比较,并根据匹配执行代码块。它可以被认为是一种惯用的方式来写多个if else子句。
switch 语句用于基于不同条件执行不同动作,每一个 case 分支都是唯一的,从上直下逐一测试,直到匹配为止。
switch 语句执行的过程从上至下,直到找到匹配项,匹配项后面也不需要再加break。
而如果switch没有表达式,它会匹配true
Go里面switch默认相当于每个case最后带有break,匹配成功后不会自动向下执行其他case,而是跳出整个switch, 但是可以使用fallthrough强制执行后面的case代码。
变量 var1 可以是任何类型,而 val1 和 val2 则可以是同类型的任意值。类型不被局限于常量或整数,但必须是相同的类型;或者最终结果为相同类型的表达式。
您可以同时测试多个可能符合条件的值,使用逗号分割它们,例如:case val1, val2, val3。
switch var1 {

case val1:    ...case val2:    ...default:    ...

}

示例代码:

package main
import "fmt"
func main() {
/ 定义局部变量 /
var grade string = "B"
var marks int = 90

switch marks {

case 90: grade = "A"  case 80: grade = "B"  case 50,60,70 : grade = "C"  //case 后可以由多个数值  default: grade = "D"

}

switch {

case grade == "A" :     fmt.Printf("优秀!\n" )       case grade == "B", grade == "C" :     fmt.Printf("良好\n" )        case grade == "D" :     fmt.Printf("及格\n" )        case grade == "F":     fmt.Printf("不及格\n" )  default:     fmt.Printf("差\n" );

}

fmt.Printf("你的等级是 %sn", grade );
}

1.2.2 fallthrough语句

如需贯通后续的case,就添加fallthrough
package main
import (

"fmt"

)

type data [2]int
func main() {

switch x := 5; x {default:    fmt.Println(x)case 5:    x += 10    fmt.Println(x)    fallthroughcase 6:    x += 20    fmt.Println(x)}

}

转载地址:http://oatpl.baihongyu.com/

你可能感兴趣的文章
JS笔记(20): JS中的同步编程和异步编程
查看>>
那几个题(没懂的地方留言)
查看>>
如何改变UITableViewCell的选中样式(颜色)?storyboard上cell的selection不可用?
查看>>
Ubuntu 怎么增加根目录 大小
查看>>
Spring Cloud微服务分布式云架构—集成项目简介
查看>>
盒马鲜生颠覆传统生鲜市场的胜算几何?
查看>>
【Node】常用基础 API 整理
查看>>
传神成进博会唯一指定智能翻译硬件提供商 力助无障碍沟通
查看>>
微信小程序实现slideUp、slideDown滑动效果及点击空白隐藏功能示例
查看>>
Java程序员须知:分布式微服务为什么很难?
查看>>
SQLServer之创建唯一聚集索引
查看>>
好程序员web前端技术之CSS3过渡
查看>>
java B2B2C源码电子商务平台 - Zuul回退机制
查看>>
记录Docker in Docker 安装(CentOS7)
查看>>
简单的写一个发布订阅器
查看>>
重学前端-js的类型问题
查看>>
Function类型
查看>>
Python学习
查看>>
ES6之let和const
查看>>
关于跨域
查看>>