Código executável completo demonstrando os conceitos abordados em Go.


🗺️ Fluxo de Execução

flowchart TD
    INTERFACE["type Pagador interface { Pagar(valor float64) bool }"]
    PIX["type Pix struct"] -->|"Implementa Pagar() sem palavra implements"| INTERFACE
    CARTAO["type Cartao struct"] -->|"Implementa Pagar() sem palavra implements"| INTERFACE
    
    style INTERFACE fill:#e1f5fe,stroke:#03a9f4,stroke-width:2px
    style PIX fill:#e8f5e9,stroke:#4caf50,stroke-width:1px
    style CARTAO fill:#e8f5e9,stroke:#4caf50,stroke-width:1px

📄 Código de Demonstração (interfaces.go)

package main

import "fmt"

type Notificador interface {
\Enviar(msg string)
}

type EmailNotificador struct{}

func (e EmailNotificador) Enviar(msg string) {
\fmt.Println("[Email Enviado]:", msg)
}

func DispararAlerta(n Notificador, alerta string) {
\n.Enviar(alerta)
}

func main() {
\DispararAlerta(EmailNotificador{}, "Falha no servidor detectada!")
}

🚀 Saída Esperada no Terminal

$ go run interfaces.go
[Email Enviado]: Falha no servidor detectada!

🧭 Navegação Rápida

| 📖 Teoria | 📊 Slides | 🧠 Quiz | 💻 Exemplos | 🧩 Exercícios | | :— | :— | :— | :— | :— | | Ler Tópico | Ver Slides | Fazer Quiz | Ver Código | Praticar |


⬅️ Voltar ao Sumário do Módulo