ZBLOG

golang if 条件

在 Go 语言中,if 条件语句的基本语法如下:

  1. if condition {
  2. // 条件为 true 时执行的代码
  3. }

1. 基本 if 语句

  1. package main
  2. import "fmt"
  3. func main() {
  4. x := 10
  5. if x > 5 { // 不需要括号
  6. fmt.Println("x is greater than 5")
  7. }
  8. }

2. if-else

  1. if condition {
  2. // true 分支
  3. } else {
  4. // false 分支
  5. }

示例:

  1. if x%2 == 0 {
  2. fmt.Println("x is even")
  3. } else {
  4. fmt.Println("x is odd")
  5. }

3. 多条件判断(else-if)

  1. if condition1 {
  2. // ...
  3. } else if condition2 { // Go没有 "elif",直接写 else if
  4. // ...
  5. } else {
  6. // ...
  7. }

示例:

  1. score := 85
  2. if score >= 90 {
  3. fmt.Println("A")
  4. } else if score >=80 {
  5. fmt.Println("B")
  6. } else {
  7. fmt.Println("C")
  8. }

4. 带初始化的 if(特殊语法)

Go允许在 if 前执行一个简短语句(通常用于变量初始化):

  1. if initialization; condition {
  2. // ...
  3. }

示例:

  1. // file操作时常用此写法,确保err只在当前块生效。
  2. if data, err := os.ReadFile("test.txt"); err == nil {
  3. fmt.Printf("%s", data)
  4. } else {
  5. log.Fatal(err)
  6. }
  7. // data和err的作用域仅限于该if-else块!

⚠️注意事项:

  1. 条件表达式无需括号:Go的 if 条件不需要用 ()包裹(加了会报错)。
  2. 必须显式使用布尔值:条件必须是严格布尔类型(不能像C/C++那样用 0/非0隐式判断)。
  3. 作用域隔离:在 initialization部分声明的变量仅在当前 if-else块内有效。

如果需要更复杂的逻辑控制,可以结合 switch或函数式编程实现。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=23770

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?