Módulo 05 – Declaração de Funções

Funções

O que são Funções?

Definição

Funções são blocos de código reutilizáveis que realizam uma tarefa específica. Elas podem receber dados de entrada (parâmetros) e retornar um valor.

Vantagens das Funções

  • Reutilização de Código: Evita a repetição de código.
  • Organização: Facilita a leitura e manutenção do código.
  • Modularidade: Permite dividir o programa em partes menores e gerenciáveis.

Declarando de Funções

Sintaxe Básica

GDScript
#
# Sintaxe básica de declaração de funções
#

func nome_da_funcao():
     # corpo da função

# Exemplos

func saudacao():
     print("Ola, Mundo!")
     

Executando Funções:

Para executar uma função, basta chamá-la pelo nome seguido de parênteses.

GDScript
#
# Executando as funções do exemplo anterior
#

func saudacao():
     print("Ola, Mundo!")

# a função exec chama e executa saudacao()
func exec()
     saudacao()
     

Parâmetros e Argumentos

Definindo Parâmetros:

Parâmetros são variáveis listadas na declaração da função que recebem valores (argumentos) quando a função é chamada.

GDScript
#
# Sintaxe de declaração de funções com parâmetros
#

func nome_da_funcao([tipo_do_paramentro1:]parametro1:
     # corpo da função

# Exemplos

func funcao1(frase):
     print(frase)

# Com tipos definidos, lembrando que a definição do tipo do parâmetro
# é facultativa na Godot mas pode apresentar vantagens,
# a função ficaria assim:

func funcao1(String: frase):
     print(frase)

# função de somatória:

func soma(a, b):
     var resultado = a + b
     print(" O resultado é %d" %[resultado])

# ou
func soma(a: int, b: int):
     var resultado: int = a + b
     print(" O resultado é %d" %[resultado])

Executando Funções com Argumentos:

Ao chamar uma função, forneça os valores para os parâmetros.

GDScript
#
# executando as função
#

var resultado_da_soma: int

func exec()
     resultado_da_soma = soma(3, 5)
     print("O resultado é %d" %[resultado_da_soma])

# ou ainda
func exec()
     print(soma(3, 5))

Parâmetros Opcionais:

Você pode definir valores padrão para parâmetros, tornando-os opcionais. Assim, se nenhum valor for passado como o parâmetro o valor padrão será utilizado.

GDScript
#
# Sintaxe de declaração de funções com parâmetros opcionais
#

func saudacao(nome: String = "Mundo"):
     print("Olá, " + nome)

# executando a função com e sem parâmetro
func exec()
     saudacao()

# imprime:
# Olá Mundo

saudacao("Mario")
# imprime:
# Olá Mario

Retornando Valores

As funções podem retornar valores usando a palavra-chave return. Mais uma vez a Godot nos permite escolher entre definir ou não o tipo da variável de retorno.

GDScript
#
# Sintaxe de declaração de funções com parâmetros
#

func nome_da_funcao([tipo_do_paramentro1:]parametro1,[tipo_do_paramentro2:]parametro2])[ -> tipo_do_retorno:]
     # corpo da função
     return valor_de_retorno

# Exemplos

func saudacao(nome = "Mundo"):
     var resultado = "Olá, " + nome
     return resultado

# com definição de tipos

func saudacao(nome: String = "Mundo") -> String:
     var resultado: String = "Olá, " + nome
     return resultado


func multiplica(int: a, int: b) -> int:
     var resultado:int = a * b
     return resultado


# Executando as funções

func exec()
     print(saudacao("Mario"))
     print multiplica(5, 4)

Funções sem Retorno

Se uma função não usa return, ela retorna null por padrão.

GDScript
#
# Sintaxe de declaração de funções sem retorno
#

# Exemplos

func mensagem():
     print ("Isto é uma mensagem")

# com definição de tipos

func mensagem() -> void:
     print ("Isto é uma mensagem")

Escopo

Escopo Local

Variáveis declaradas dentro de uma função são locais a essa função e não podem ser acessadas fora dela.

GDScript
#
# Variáveis locais
#

# Exemplos

func exemplo():
     var local = "Sou local"
     print(local)

Escopo Global

Variáveis declaradas fora de qualquer função têm escopo global e podem ser acessadas em qualquer parte do script.

GDScript
#
# Variáveis globais
#

# Exemplos

var global = "Sou Global"


func exemplo():
     var local = "Sou local"
     print(local)


func imprimir()
     print(local) # Erro: local não está definida nesta função
     print(global)# Acessa a variável global


Revisado em

em

,

por