Pular para o conteúdo principal

Funções

Funções são blocos de código reutilizáveis. Veja como diferentes linguagens definem e chamam funções.

Declaração Básica de Funções​

// Function declaration
function greet(name) {
return "Hello, " + name;
}

// Arrow function
const greet = (name) => {
return "Hello, " + name;
};

// Arrow function (shorthand)
const greet = name => "Hello, " + name;

// Function call
greet("John");

Recursos Avançados de Funções​

// Default parameters
function greet(name = "World") {
return "Hello, " + name;
}

// Rest parameters
function sum(...numbers) {
return numbers.reduce((a, b) => a + b, 0);
}

// Arrow function with this binding
const obj = {
name: "John",
greet: function() {
setTimeout(() => {
console.log(this.name);
}, 100);
}
};

Principais Conclusões​

  • Estilos de declaração -- function (JavaScript, PHP), def (Python, Ruby), fn (Rust, Zig), func (Go, Swift). Arrow functions e lambdas são comuns em linguagens modernas.
  • Passagem de parâmetros -- Valores padrão são suportados na maioria; variádicos via *args/**kwargs (Python), ... (PHP, Go, Swift, C), params (C#). Zig usa ! para retornos falíveis.
  • Valores de retorno -- Go permite múltiplos retornos; Rust usa Result/Option; Zig usa error unions; Python/Ruby permitem retornos implícitos da última expressão.