Godot 4 Funciones En GDScript
En este tutorial aprenderemos que son las Funciones GDScript y como utilizarlas en la programación, además programaremos algunas Funciones en Godot 4 ⚙️
Índice
¿Qué son las funciones en programación?
Las funciones en programación son bloques de código que realizan una tarea específica, y pueden ser llamadas o ejecutadas cuando se necesiten.
¿Y para qué sirven las funciones en programación?
Se utilizan para organizar y reutilizar el código, lo que facilita la lectura, el mantenimiento y la depuración de un programa.
Ejemplo de como crear Funciones en GDScript y Godot
Para crear una función usamos la palabra reservada «func», después le agregamos un nombre junto con dos paréntesis y dos puntos al final.
Dentro de la función agregaremos nuestro código, en este caso nuestro código nos mostrará el mensaje «hello»
func _ready():
function_hello()
#Funcion simple
func function_hello():
print('hello')
Para utilizar nuestra función escribimos su nombre junto con sus paréntesis donde queramos utilizarla, en este caso la usaremos dentro de la función ready.
Funciones que retornan valores
Las funciones pueden devolver valores que podemos imprimir en consola o realizar alguna operación,
Para que una función regrese un valor usamos la palabra return seguido del valor que regresará, pero si no agregamos la palabra return o no regresa ningún valor, nuestra función devolverá null.
Para elegir el tipo de dato que regresen debes usar una flecha de esta forma -> después debes agregar el tipo de dato y finalmente poner los dos puntos aqui tienes algunos ejemplos.
func _ready():
function_return_null()
function_hello_string()
#Funciones que retornan valores
"""
Las funciones devuelven valores
Y estos valores pueden imprimirse en consola
print(function_return_null())
print(function_hello_string())
"""
#Por defecto las funciones devuelven null
func function_return_null():
return
#Pero tu puedes elegir el tipo de dato que regresen
func function_hello_string()-> String:
return 'hello'
Error Not all code paths return a value.
Las funciones siempre deben retornar un valor del mismo tipo que se les asignó aunque estén en una Sentencia If
Por ejemplo este código nos dara un error, porque estamos regresando null y esta función debe regresar un valor de tipo booleano.
func _ready():
function_if()
# Siempre deben retornar un valor del mismo tipo, aunque este en una sentencia if
func function_if() -> bool:
if 5 > 6:
return true
else:
print(false)
Para solucionarlo debemos regresar un valor del mismo tipo que espera nuestra función, en este caso un valor de tipo booleano.
func _ready():
function_if()
# Siempre deben retornar un valor del mismo tipo, aunque este en una sentencia if
func function_if() -> bool:
if 5 > 6:
return true
else:
print(false)
#Si comentamos el return nos aparecera el error
#Not all code paths return a value.
return false
Si no sabemos qué tipo de dato regresará, es mejor no asignarle un tipado a nuestra función
Guardar funciones en variables
Puedes guardar el valor que regresa una función en una variable, para hacerlo solo necesitamos crear una variable y asignarle la función
func _ready():
var value_int = function_return_int()
print(value_int)
# Guardar funciones en variables
func function_return_int() -> int:
return 1
Función con parámetros
Podemos mandar nuestros propios valores en una función, estos valores son llamados parámetros y se colocan dentro de los paréntesis
En este ejemplo, mandamos el parámetro «message», después lo agregamos como parámetro al método print, y finalmente devolvemos ese valor.
En este caso mandaremos el número 7 como parámetro.
func _ready():
print_message(7)
#Funcion con parámetros
func print_message(message):
print(message)
Función con Múltiples parámetros y tipado estático
Podemos especificar qué tipo de datos se deben enviar en nuestra función usando el tipado estático
Con el tipado estático nos podemos ahorrar muchos problemas, por ejemplo, esta función realiza una suma y si enviáramos una letra, y un número podría causarnos muchos problemas
func sum(number_1, number_2):
print(number_1 + number_2)
Para agregar el tipado, solo tenemos que agregar dos puntos y el tipo de dato, en este caso nuestros parámetros serán de tipo entero
func _ready():
sum(7, 8)
#Funcion con parámetros y tipado estatico
func sum(number_1: int, number_2: int):
print(number_1 + number_2)
Función con parámetros por defecto
Si queremos que nuestra función tenga parámetros por defecto, tenemos que agregarlos de la siguiente forma, como si fueran una variable
En este caso ambos parámetros valdrán 0
func _ready():
sum_default_values()
#Puedes ejecutar esta funcion de las siguientes formas
#sum_default_values()
#sum_default_values(5, 5)
#sum_default_values(5, )
#Funcion con parámetros por defecto
func sum_default_values(number_1 = 0, number_2 = 0):
print(number_1 + number_2)
Función con parámetros por defecto y tipado estático
Podemos agregar parámetros por defecto y tipado estático a nuestra función
Para hacerlo, solo tenemos que agregar dos puntos y el tipo de dato, en este caso nuestros parámetros serán de tipo entero, y después asignamos el valor del parámetro
func _ready():
sum_default_values_2()
#Puedes ejecutar esta funcion de las siguientes formas
#sum_default_values_2()
#sum_default_values_2(5, 5)
#sum_default_values_2(5, )
#Funcion con parámetros por defecto y tipado estático
func sum_default_values_2(number_1:int = 0, number_2:int = 0):
print(number_1 + number_2)