Menu
CoddyTech

访问值

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

要读取一个值,请在字典名称后面的方括号中放入它的键:

var player := {"name": "Mia", "hp": 100}
print(player["name"]) # Mia
print(player["hp"]) # 100

键必须完全匹配,包括大写字母:"Name" 和 "name" 是不同的键。

读取字典中不存在的键会导致错误,程序会在这一行停止:

print(player["mana"]) # 错误:键 "mana" 不存在

如果键可能不存在,请使用 get()。它会返回键对应的值;如果键不存在,则返回你作为第二个参数传入的默认值:

print(player.get("hp", 0)) # 100
print(player.get("mana", 0)) # 0

如果没有设置默认值,get() 在键不存在时会返回 null,而 print() 会将其显示为 <null>。

challenge icon

挑战

简单

程序会读取 4 行输入:

  1. 物品名称
  2. 价格(小数)
  3. 库存数量(整数)
  4. 要查找的键

创建一个名为 item 的字典,包含以下键值对:

  • "name" 对应物品名称
  • "price" 对应价格
  • "stock" 对应库存数量

然后输出第四行输入对应的键的值。如果字典中没有这个键,就输出 Not found。

输入 Potion、2.5、15 和 price 时,输出为:

2.5

输入 Bow、30.75、7 和 color 时,输出为:

Not found

亲手试试

extends Node

func _ready():
	var item_name := OS.read_string_from_stdin()
	var price := float(OS.read_string_from_stdin())
	var stock := int(OS.read_string_from_stdin())
	var key := OS.read_string_from_stdin()

	# 在这里创建 item 字典

	# 输出 key 的值,否则输出 Not found
	pass
quiz icon自我测试

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

基础知识中的所有课

自己练习: GDScript 在线编译器