Menu
CoddyTech

创建字典

本课属于 Coddy GDScript 学习旅程的“基础知识”单元。第 77 课,共 92 课。

数组按位置存储值。字典按名称存储值:每个值都与一个键配对,你可以用键查找值。

使用花括号编写字典。每一对都由键、冒号和值组成,各对之间用逗号分隔:

var player := {"name": "Mia", "hp": 100, "alive": true}
print(player)

输出会显示每一对,{ 后面和 } 前面都有一个空格:

{ "name": "Mia", "hp": 100, "alive": true }

字典中的每个键只能出现一次,但值可以重复。在 {} 中重复写入同一个键会导致错误,使程序无法运行。键和值可以是任意类型:字符串、数字、布尔值,甚至数组。

空字典写作 {}。你可以之后向其中添加键值对:

var scores := {}
print(scores) # {  }

和数组一样,字典也可以指定类型。Dictionary[String, int] 表示每个键都是 String,每个值都是 int:

var stock: Dictionary[String, int] = {"apples": 3, "pears": 5}
challenge icon

挑战

简单

程序会读取 3 行输入:

  1. 英雄名称
  2. 职业
  3. 等级(整数)

创建一个名为 hero 的字典,其中包含 3 对键值:

  • 将 "name" 映射到英雄名称
  • 将 "role" 映射到职业
  • 将 "level" 映射到等级,并将其存储为 int

然后打印这个字典。输入 Mia、Healer 和 3 时,输出为:

{ "name": "Mia", "role": "Healer", "level": 3 }

亲手试试

extends Node

func _ready():
	var hero_name := OS.read_string_from_stdin()
	var role := OS.read_string_from_stdin()
	var level := int(OS.read_string_from_stdin())

	# 在这里创建英雄字典

	# 在这里打印字典
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: GDScript 在线编译器