Menu
CoddyTech

Suas próprias funções

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

Quando dois botões fazem a mesma coisa, você pode escrever o código uma vez e dar um nome a ele. Isso é uma função:

void sayHello() {
  print('Hello!');
}

sayHello é o nome dela, o código dentro das chaves é o que ela faz, e void significa que ela não retorna nada. Escreva-a sozinha, fora de class MyApp, por exemplo, logo abaixo de main.

Para executá-la, escreva o nome com parênteses: sayHello();. Para passá-la a um botão, escreva o nome sem eles:

ElevatedButton(onPressed: sayHello, child: Text('Hi'))

Sem os parênteses, você passa a própria função para o botão, e o botão a executa a cada toque. Com eles, onPressed: sayHello(), o Dart a executaria imediatamente e passaria o resultado para o botão, que é nada, então o código não compila.

challenge icon

Desafio

Fácil

Ambos os botões devem imprimir Hello!. Escreva uma função sayHello que imprima Hello! e atribua-a ao botão Say hello e ao botão flutuante com a mão acenando.

Experimente você mesmo

import 'package:flutter/material.dart';

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

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

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: Scaffold(
        body: Center(
          child: ElevatedButton(
            onPressed: () {
              print('Hello!');
            },
            child: Text('Say hello'),
          ),
        ),
        floatingActionButton: FloatingActionButton(
          onPressed: () {},
          child: Icon(Icons.waving_hand),
        ),
      ),
    );
  }
}
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