1.9Go语言的条件(Conditional)、循环(Loop)、跳转(Jump)语句

1.if条件

if 表达式 {
    //语句
}

2.if-else条件

if 表达式 {
    //语句1
} else {
    //语句2
}

3.if-else-if条件

if 表达式1 {
    //语句1
} else if 表达式2 {
    //语句2
} else {
    //语句3
}

4.switch条件

switch 语句用于将 switchExpression 按从上往下的顺序与 caseExpression 逐个进行匹配测试,直到 switch 语句结束 或 遇到第一个匹配成功的 caseExpression 并执行此 caseExpression 后的语句。

default 语句非必须有。如果有 default 语句,当 switchExpression 匹配不到任何一个 caseExpression 时,default 语句会被执行,否则不会被执行。一个 switch 语句只能有一个 default 语句。

注意:匹配测试使用的是相等 == 运算符。

注意:caseExpression 后的语句有隐式的 break 语句。

switch switchExpression {
    case caseExpression1:
        //语句1
    case caseExpression2:
        //语句2
    case caseExpressionN:
        //语句N
    default:
        //语句
}

5.for循环

for 语句的运行顺序为:第一步先计算 条件表达式,如果 条件表达式true,则运行后面的 块语句,然后运行 每次迭代后表达式,依次类推,直至 条件表达式false

for 初始表达式; 条件表达式; 每次迭代后表达式 {
    //语句
}
//类似于其它编程语言的while语句
for 条件表达式 {
    //语句
}

6.for-range循环

for-range 语句用于迭代任何可迭代数据(比如整数、字符串、数组、切片、映射等)中的元素。

for 变量名 := range 可迭代数据 {
    //语句
}

for 键, 值 := range 可迭代数据 {
    //语句
}

7.label跳转

label 语句用于给任何语句加 label

label 可以是 Go 语言支持的任何标识符。

label 语句一般与 gotobreakcontinue 语句搭配使用。

label: 语句

8.goto跳转

goto 语句用于跳转到 label 语句。

goto label

9.break跳转

一旦遇到 break 语句,则立即跳出(break out of)最近的 switch 语句 或 循环语句,并从最近的 switch 语句 或 循环语句外继续向下执行。

break

一旦遇到 break label 语句,则立即跳出(break out of) label 语句,并从 label 语句外继续向下执行。

break label

10.continue跳转

一旦遇到 continue 语句,则立即终止最近的循环语句的本次迭代,继续(continue)最近的循环语句的下一次迭代,并不会完全终止最近的循环语句。

continue

一旦遇到 continue label 语句,则立即终止带 label 的循环语句的本次迭代,继续(continue)带 label 的循环语句的下一次迭代,并不会完全终止带 label 的循环语句。

continue label

11.return跳转

一旦遇到 return 语句,包含 return 关键字的函数就会立即停止执行,并将 return 关键字后的表达式的值返回给包含 return 关键字的函数的调用者。

注意:return 关键字只可以被使用在函数体内。

return
return 表达式
return 表达式1, 表达式2, 表达式N

如果一个函数定义没有返回类型,则此函数的函数体内不应该有 return 语句 或者 return 关键字后没有表达式。

func f1() {
}

func f2() {
    return
}

func main() {
    fmt.Println(f1())  // 报错
    fmt.Println(f2())  // 报错
}

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/go/golang/36912.html

(0)
huoxiaoqiang的头像huoxiaoqiang
上一篇 2025年2月8日 20:59
下一篇 2025年2月9日 14:51

相关推荐

  • 2.10Go语言的成员可见性(Visibility)

    成员的可见性只支持 public、private,不支持 protected。 标识符的首字母大写表示 public。 标识符的首字母小写表示 private。 支持的成员:变量、常量、函数、类型。 成员的可见性 包内调用 包外直接调用 public 可以 可以 private 可以 不可以

    Go语言教程 2025年3月10日
    0100
  • 2.7Go类型之映射(Map)

    映射的键必须是可比较类型,且必须都是同一个类型。 映射的键不可以重复,会报错。 映射的值可以是任何 Go 数据类型,且必须都是同一个类型。 映射的值可以重复。 映射的键值对是无序的,迭代时也是无序的。 映射的键值对的个数(长度)可以动态改变,可以添加、更改、删除键值对。 1.映射声明 2.访问映射 3.映射长度

    Go语言教程 2025年3月7日
    0130
  • 1.1Go语言的注释(Comment)

    1.行内(Inline)注释 2.块(Block)注释

    Go语言教程 2025年2月1日
    0150

发表回复

登录后才能评论