Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

erro que acontece ao rodar main: "unknown escape sequence"

package main

import (
    "banco\contas"
    "fmt"
)

func main() {

    contaDaSilvia := contas.ContaCorrente{Titular: "Silvia", Saldo: 3000.}
    contaDoGustavo := contas.ContaCorrente{Titular: "Gustavo", Saldo: 1000.}

    status := contaDaSilvia.Transferir(50., &contaDoGustavo)

    fmt.Println(status)
    fmt.Println(contaDaSilvia)
    fmt.Println(contaDoGustavo)

}
package CLIENTES

type Titular struct {
    Nome     string
    CPF      string
    Profisao string
}

package contas
import "banco\clientes"
type ContaCorrente struct {
    Titular       clientes.Titular
    NumeroAgencia int
    NumeroConta   int
    Saldo         float64
}

func (c *ContaCorrente) Sacar(valorDoSaque float64) string {
    podeSacar := valorDoSaque > 0 && valorDoSaque <= c.Saldo
    if podeSacar {
        c.Saldo -= valorDoSaque
        return "Saque realizado com sucesso"
    } else {
        return "Saldo insuficiente"
    }
}

func (c *ContaCorrente) Depositar(valorDoDeposito float64) (string, float64) {
    if valorDoDeposito > 0 {
        c.Saldo += valorDoDeposito
        return "Deposito realizado com sucesso. Valor atualizado: R$", c.Saldo
    } else {
        return "Valor do deposito é menor que zero. Valor da conta inalterado: R$", c.Saldo
    }

}

func (c *ContaCorrente) Transferir(valorDaTransferencia float64, contaDestino *ContaCorrente) bool {
    if valorDaTransferencia < c.Saldo && valorDaTransferencia > 0 {
        c.Saldo -= valorDaTransferencia
        contaDestino.Depositar(valorDaTransferencia)
        return true
    } else {
        return false
    }
}
1 resposta
solução!

Resolvido:

package main

import (
    "banco/clientes"
    "banco/contas"
    "fmt"
)

func main() {
    // contaDoBruno := contas.ContaCorrente{Titular: clientes.Titular{
    //     Nome:      "Bruno",
    //     CPF:       "123.111.123.12",
    //     Profissao: "Desenvolvedor"},
    //     NumeroAgencia: 123, NumeroConta: 123456, Saldo: 100}

    // fmt.Println(contaDoBruno)

    clienteBruna := clientes.Titular{"Bruna", "123.123.123.12", "Desenvolvedora"}
    contaDaBruna := contas.ContaCorrente{clienteBruna, 123, 123456, 100}
    fmt.Println(contaDaBruna)
}

package contas

import "banco/clientes"

type ContaCorrente struct {
    Titular       clientes.Titular
    NumeroAgencia int
    NumeroConta   int
    Saldo         float64
}

func (c *ContaCorrente) Sacar(valorDoSaque float64) string {
    podeSacar := valorDoSaque > 0 && valorDoSaque <= c.Saldo
    if podeSacar {
        c.Saldo -= valorDoSaque
        return "Saque realizado com sucesso"
    } else {
        return "Saldo insuficiente"
    }
}

func (c *ContaCorrente) Depositar(valorDoDeposito float64) (string, float64) {
    if valorDoDeposito > 0 {
        c.Saldo += valorDoDeposito
        return "Deposito realizado com sucesso. Valor atualizado: R$", c.Saldo
    } else {
        return "Valor do deposito é menor que zero. Valor da conta inalterado: R$", c.Saldo
    }

}

func (c *ContaCorrente) Transferir(valorDaTransferencia float64, contaDestino *ContaCorrente) bool {
    if valorDaTransferencia < c.Saldo && valorDaTransferencia > 0 {
        c.Saldo -= valorDaTransferencia
        contaDestino.Depositar(valorDaTransferencia)
        return true
    } else {
        return false
    }
}
package clientes

type Titular struct {
    Nome      string
    CPF       string
    Profissao string
}

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software