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

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

相关推荐
北冥you鱼14 小时前
Go 语言 CRUD 实战:从接口设计到真实业务场景
开发语言·后端·golang
KevinAshen6717 小时前
用 Go 修复旧下载工具:从接口 403 到凭证截断的完整复盘
go·github
利威尔xu18 小时前
Go IM 源码实战(11):token 只是个 HASH,多端互踢的顺序错了就踢错人
后端·微服务·面试·架构·golang
microrain18 小时前
SagooIoT 把协议解析和消息通知都放进了独立进程
物联网·golang·插件·sagooiot
ZzT19 小时前
vibe coding 做小游戏·素材篇:Claude Code 操作网页版 ChatGPT,一个对话画完全套美术
ai编程·游戏开发
北冥you鱼19 小时前
Go 语言 GORM 使用 Preload:从关联查询到嵌套预加载的完整实践
开发语言·jvm·golang
microrain19 小时前
把规则链存成文件之后,上线一条规则只需改一个字段
物联网·golang·规则引擎·sagooiot
SmalBox20 小时前
07-01-打包系统-资源分组策略
unity3d·游戏开发
SEO_juper1 天前
Go 站点地图生成器:从首页爬全站,一键生成 sitemap.xml
xml·开发语言·人工智能·golang·node.js·seo·外贸独立站