Menu
CoddyTech

Funções com parâmetros

Parte da seção Tornando o app interativo do Journey de Flutter da Coddy. Lição 7 de 34.

Uma função pode receber um valor cada vez que você a chama. Esse valor é um parâmetro, escrito entre parênteses com seu tipo:

void greet(String name) {
  print('Hi, $name!');
}

greet('Ada');    // Oi, Ada!
greet('Linus');  // Oi, Linus!

Dentro da função, name é uma variável que guarda o valor recebido. Agora, uma única função faz o trabalho de muitas.

Um botão não pode passar um valor por conta própria: onPressed: espera uma função sem parâmetros. Então, envolva a chamada em uma pequena função sem nome, do tipo que você conheceu em Seu Primeiro Botão:

ElevatedButton(
  onPressed: () { greet('Ada'); },
  child: Text('Ada'),
)
challenge icon

Desafio

Fácil

Substitua orderTea por uma função order que receba um String drink e imprima One Tea, please, One Coffee, please ou One Juice, please. Faça com que os três botões usem essa função.

Experimente você mesmo

import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

void orderTea() {
  print('One Tea, please');
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: Scaffold(
        body: Center(
          child: Column(
            mainAxisSize: MainAxisSize.min,
            children: [
              ElevatedButton(onPressed: orderTea, child: Text('Tea')),
              SizedBox(height: 12),
              ElevatedButton(onPressed: () {}, child: Text('Coffee')),
              SizedBox(height: 12),
              ElevatedButton(onPressed: () {}, child: Text('Juice')),
            ],
          ),
        ),
      ),
    );
  }
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Tornando o app interativo

Pratique por conta própria: Compilador de Flutter online