180课时吃透Go语言游戏后端开发5:Go语言中的条件语句

180课时吃透Go语言游戏后端开发5:Go语言中的条件语句

第5课我们来学习Go语言中的条件语句。条件语句就像是游戏里的关卡选择器,根据不同的条件,程序会执行不同的代码路径。

if 语句

基本格式是 if 条件 { 执行代码 }。当条件为 true 时,就会执行大括号里的代码。

go 复制代码
package main

import "fmt"

func main() {
    score := 85
    if score >= 60 {
        fmt.Println("恭喜你,考试及格!")
    }
}

将以上代码写入main.go,运行结果如下:

bash 复制代码
leicw@Code AI世界:code005$ go run main.go
恭喜你,考试及格!

在这个例子里,如果 score 大于或等于 60,就会打印出"恭喜你,考试及格啦!"。

if - else 语句

格式为 if 条件 { 条件为 true 时执行代码 } else { 条件为 false 时执行代码 }

go 复制代码
package main

import "fmt"

func main() {
    score := 45
    if score >= 60 {
        fmt.Println("恭喜你,考试及格啦!")
    } else {
        fmt.Println("很遗憾,考试没及格,继续努力!")
    }
}

将以上代码写入main.go,运行结果如下:

bash 复制代码
leicw@Code AI世界:code005$ go run main.go
很遗憾,考试没及格,继续努力!

这里根据 score 的值,程序会执行不同的分支,要么打印及格信息,要么打印没及格的信息。

if - else if - else 语句

当有多个条件需要判断时,可以使用这种形式。

go 复制代码
package main

import "fmt"

func main() {
    score := 85
    if score >= 90 {
        fmt.Println("成绩优秀!")
    } else if score >= 70 {
        fmt.Println("成绩良好!")
    } else if score >= 60 {
        fmt.Println("成绩及格!")
    } else {
        fmt.Println("成绩不及格,加油!")
    }
}

将以上代码写入main.go,运行结果如下:

bash 复制代码
leicw@Code AI世界:code005$ go run main.go
成绩良好!

这段代码会根据 score 的不同区间,打印出不同的评价。

在游戏开发中,条件语句经常用于判断玩家的状态。比如判断玩家的生命值是否小于等于0,如果是,就显示"游戏失败"界面;如果玩家的等级达到某个数值,就解锁新的关卡等等。

你可以试着修改这些示例中的分数值,观察输出结果的变化。同时思考一下在游戏场景中,还能怎样运用条件语句实现不同的逻辑。要是遇到问题,欢迎评论区留言。

推荐阅读

  1. 【Go零基础系列】003:Go语言中的变量详解
  2. 互联网、因特网和万维网傻傻分不清,一文带你彻底理解计算机中的各种网络
  3. 十分钟带你入门Vue.js开发(Vue 3)
  4. 超级详细的Github双重验证开启教程&github Two-factor authentication

每一次点赞 ,都是你无声的鼓励。每一次关注,都是我前行的动力。感谢有你,一起成长!

相关推荐
geovindu7 小时前
go: Semaphore Pattern
开发语言·后端·设计模式·golang·企业级信号量模式
审判长烧鸡8 小时前
【PHPer转Go】fmt vs log/slog
go·php
dusk_star10 小时前
go语言--笔记--封装、组合(继承)
笔记·golang
漓漾li10 小时前
每日面试题(2026-05-20)- GO AI agent全栈
后端·架构·go
姚不倒12 小时前
Go 语言基础入门:从零到实战,一篇文章掌握核心语法
云原生·golang
XMYX-014 小时前
33 - Go 文本模板 template:从入门到原理深挖
golang·正则表达式
SmalBox16 小时前
【节点】[HyperbolicTangent节点]原理解析与实际应用
unity3d·游戏开发·图形学
.魚肉16 小时前
Raft 共识算法 · 演示系统(多终端)
算法·go·raft·分布式系统
审判长烧鸡18 小时前
【Go工具】go-playground除了validator还有哪些常用的库
go·web
审判长烧鸡18 小时前
Go 新版核心知识点合集(适配 Go1.18+ 含泛型 + 断言 + 接口 + 指针接收者全套)
go