golang学习(4)---分支和循环

本文介绍了Go语言中独特的控制流结构,包括仅有的for循环及if和switch分支语句的用法。通过示例展示了如何在Go中实现常见的条件判断和循环逻辑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Go 语言的分支循环语句选择性较少,循环语句它只有 for 循环,平时我们在其它语言用的 while 语句、do while 语句、loop 语句它是没有的。分支语句只有 if 和 switch,也没有三元操作符。之所以是这样吧。估计也就是为了go的简洁而定的。这也就是为什么大部分人其实写的go的代码相差不大

if
先看一个最常见的 if else分支

package main

import "fmt"

func main() {
    fmt.Println(sign(max(min(24, 42), max(24, 42))))
}

func max(a int, b int) int {
    if a > b {
        return a
    }
    return b
}

func min(a int, b int) int {
    if a < b {
        return a
    }
    return b
}

func sign(a int) int {
    if a > 0 {
        return 1
    } else if a < 0 {
        return -1
    } else {
        return 0
    }
}

------------
1

代码部分借鉴与网络,说到这里,我们一般在判断大小时用a>b?a:b,但是是真的不支持。

switch 语句

func grade(score int) string {
    g := ""
    switch {
    case score < 0 || score > 100:
        panic(fmt.Sprintf("Wrong score: %d", score))
    case score < 60:
        g = "F"
    case score < 80:
        g = "C"
    case score < 90:
        g = "B"
    case score <= 1000:
        g = "A"
    default:
        panic(fmt.Sprintf("Wrong score: %s", score))
    }
    return g
}

与 java 些许不同的是,这些 case 里面不用写 break
switch 还可以使用 if…else 作为 case 条件
有,panic是个关键字,抛出异常,相当于new throw.分支就讲到这,

对于for的话,因为没有do while这些,所以for在go中的作用很大。

package main

import "fmt"

func main() {
    for i := 0; i < 10; i++ {
        fmt.Println("hello world!")
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值