1
resposta

Desafio Sistema de notificação em Golang

No meu aprendizado de Golang, estou aproveitando estes desafios de Java para praticar os conceitos da linguagem Go que estou vendo. Assim ficou o codigo feito em Golang:

Go

Package notify

package notify

import "fmt"

type Notification interface {
    Send()
}

type NotificationService struct {
    Recipient string
    Message   string
}

type Email struct {
    Subject string
    NotificationService
}

func (e Email) Send() {
    fmt.Printf("\nEnviando Email para: %s\nAssunto: %s\nCorpo: %s\n", e.Recipient, e.Subject, e.Message)
}

type SMS struct {
    NotificationService
}

func (s SMS) Send() {
    fmt.Printf("\nEnviando SMS para: %s\nMensagem: %s\n", s.Recipient, s.Message)
}

type Push struct {
    Title string
    NotificationService
}

func (p Push) Send() {
    fmt.Printf("\nEnviando Push para: %s\nTítulo: %s\nConteúdo: %s\n", p.Recipient, p.Title, p.Message)
}

package main

package main

import (
    "go-init/notify"
)

func main() {

    email := notify.Email{Subject: "Video Game", NotificationService: notify.NotificationService{
        Recipient: "Lucas Sousa",
        Message:   "Seus presente de aniversario",
    }}

    sms := notify.SMS{NotificationService: notify.NotificationService{
        Recipient: "Lucas Sousa",
        Message:   "Recarregue agora mesmo o seu celular e concorra a premios exclusivos",
    }}

    push := notify.Push{Title: "Saidera", NotificationService: notify.NotificationService{
        Recipient: "Lucas Sousa",
        Message:   "Bora jogar umas partidas de futebol",
    }}

    email.Send()
    sms.Send()
    push.Send()
}

como ficou:
Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta

Ei! Tudo bem, Rick?

Que iniciativa fantástica a sua de adaptar o desafio de Java para praticar Golang! Isso mostra um grande espírito de aprendizado e inovação, aplicando conceitos em contextos diferentes. O resultado no terminal confirma que todo o fluxo está funcionando como esperado, enviando cada tipo de notificação com seus dados específicos.

Parabéns pela sua proatividade e pelo projeto! Caso surjam dúvidas durante os estudos, compartilhe no fórum.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!