180课时吃透Go语言游戏后端开发2:Go语言中的变量

第二节课我们来深入了解Go语言的变量。变量就像是一个个小盒子,能用来存放各种数据,在游戏开发里,比如角色的生命值、攻击力等,都可以用变量来表示。

在Go语言里声明变量有好几种方式。

方式一:标准声明

go 复制代码
package main

import "fmt"

func main() {
    var num int
    num = 10
    fmt.Println("变量num的值是:", num)
}

在这段代码里,var num int 声明了一个名为 num 的变量,类型是 int(整数类型)。然后 num = 10 是给这个变量赋值。最后通过 fmt.Println 打印出变量的值。

方式二:简短声明

go 复制代码
package main

import "fmt"

func main() {
    str := "这是一个字符串"
    fmt.Println("变量str的值是:", str)
}

这里用 := 这种简短声明方式,它会根据右边的值自动推断变量的类型。str 就是一个字符串类型的变量,存放了"这是一个字符串"这句话。

方式三:多个变量声明

go 复制代码
package main

import "fmt"

func main() {
    var a, b, c int
    a = 1
    b = 2
    c = 3
    fmt.Println("a的值:", a, "b的值:", b, "c的值:", c)
}

这种方式同时声明了三个 int 类型的变量 abc ,之后分别给它们赋值。

实战演练

在游戏开发中,比如我们做一个简单的射击游戏,就可以用变量来记录玩家的子弹数量:

go 复制代码
package main

import "fmt"

func main() {
    var bulletCount int
    bulletCount = 10
    fmt.Println("玩家当前子弹数量:", bulletCount)
}
  1. 打开命令行cmd窗口或者Terminal终端(一个黑底可以输入命令的窗口),如下所示:

  2. 创建项目文件夹,将以上代码输入到main.go中

    bash 复制代码
    leicw@Code AI世界:180_course_go_game_dev$ mkdir code002
    leicw@Code AI世界:180_course_go_game_dev$ cd code002
    leicw@Code AI世界:code002$ touch main.go
  3. 初始化go模块

    bash 复制代码
    leicw@Code AI世界:code002$ go mod init leicw/code002
    go: creating new go.mod: module leicw/code002
    go: to add module requirements and sums:
            go mod tidy
  4. 运行程序

    bash 复制代码
    leicw@Code AI世界:code002$ go run main.go
    玩家当前子弹数量: 10

现在你可以试着修改一下这些代码,比如改变变量的值,或者用不同的声明方式来声明变量,多练习练习,这样能更好地掌握变量的使用哦。有什么疑问,欢迎评论区留言。

推荐阅读

  1. 搭建Golang在线开发环境(随时随地码代码)
  2. 【python爬虫】10行代码教你开发一个爬虫
  3. mysql开发环境的搭建与基本使用

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

相关推荐
知无不研2 小时前
lambda表达式的使用(3)
开发语言·c++·lambda
cfm_29142 小时前
SpringAI + Ollama 本地大模型
java·开发语言·人工智能·语言模型
C++ 老炮儿的技术栈3 小时前
基于Qt实现轻量化本地音乐播放器
开发语言·c++·qt·c·播放器·音乐
qq_448011164 小时前
C语言中的柔性数组
c语言·开发语言·柔性数组
小白学大数据4 小时前
长周期爬虫的数据一致性:断点续爬 + 事务回滚保障采集质量
开发语言·爬虫·测试工具
檀越剑指大厂4 小时前
哪个远程控制软件低延迟适合玩游戏?2026年8月六款远程工具按游戏类型深度实测
游戏·玩游戏
zlinear数据采集卡4 小时前
D223上位机C#开发实战:从帧解析到波形显示的完整实现
开发语言·arm开发·嵌入式硬件·fpga开发·开源·c#
Poo_Chai4 小时前
QT emit信号后完整处理流程,包括槽函数响应流程
java·开发语言·数据库
瑞码空间4 小时前
Java 图形界面(GUI)完整知识点手册
java·开发语言·图形界面·swing
小努蛋5 小时前
linux编译openresty异常问题,lua_cjson.c:706:5: 错误: ‘for‘ 循环初始化声明只在 C99 或 C++ 模式下允许
开发语言·lua·openresty