Menu
CoddyTech

Trả về

Thuộc phần Kiến thức nền tảng trong hành trình GDScript của Coddy. Bài học 53 trên 92.

Câu lệnh return gửi một giá trị từ hàm về đoạn code đã gọi hàm đó. Sau đó, lời gọi hàm đại diện cho giá trị ấy:

func get_max_hp():
	return 100
var hp: int = get_max_hp()
print(hp)

hp chứa 100, giá trị mà hàm trả về, nên chương trình in ra 100.

Hàm (function) có tham số có thể trả về kết quả được tính từ các tham số đó. Bạn có thể lưu kết quả, in ra hoặc dùng kết quả trong một biểu thức:

func square(n):
	return n * n
print(square(4))
print(square(3) + 1)
16
10

return cũng kết thúc hàm. Các dòng phía sau nó trong cùng khối lệnh sẽ không chạy:

func check_age(age):
	if age >= 18:
		return "adult"
	return "minor"

check_age(20) trả về "adult" rồi dừng. check_age(12) bỏ qua khối lệnh if và trả về "minor".

Hàm không có return sẽ trả về null.

Các hàm này không cho biết chúng trả về kiểu dữ liệu nào, nên GDScript không thể suy luận kiểu dữ liệu từ chúng: var hp := get_max_hp() là lỗi. Hãy tự ghi kiểu dữ liệu của biến, như trong var hp: int = get_max_hp(). Bài học tiếp theo sẽ hướng dẫn cách một hàm khai báo kiểu dữ liệu trả về.

challenge icon

Thử thách

Dễ
  1. Bên dưới _ready(), khai báo hàm square_number với một tham số n. Hàm này trả về n * n.
  2. Trong _ready(), gọi square_number() với input_num và lưu giá trị trả về vào biến có tên result.
  3. In ra result.

Với đầu vào 5, đầu ra là:

25

Tự làm thử

extends Node

func _ready():
	var input_num := int(OS.read_string_from_stdin())
	# Lưu square_number(input_num) vào result, rồi in ra result

# Khai báo hàm (function) square_number(n) bên dưới: hàm trả về n * n
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Kiến thức nền tảng

Tự luyện tập: Trình biên dịch GDScript online