3
respostas

unknown escape sequence

Olá, estou tentando utilizar o pacote criado por outro arquivo GO, referente ao curso GO: Orientação a Objeto, Cap 3 Sessão 3.

Ao separar as funções no arquivo contaCorrente.go dentro da pasta /contas, ao tentar declarar o import "banco/contas" é gerado a mensagem (unknown escape sequence)

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

O arquivo se encontra desse diretório em meu computador: C:\go\src\banco\contas

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

Aguardo ajuda!

3 respostas

Olá Fagner , tudo bem?

Acredito que seja import "banco/contas ao invés de import "banco\contas"

Se isso não resolver, posta aqui seu código ou link do projeto no github, por favor.

Olá!

Otávio, já tinha tentado isso... Não deu certo.

Abaixo está o código:

Esse é o arquivo main.go

package main

import (
    "fmt"
    "banco\contas"
)

func main() {

    contaFagner := contas.contaCorrente{Titular: "Fagner", Saldo: 300}
    contaRodrigo := contas.contaCorrente{Titular: "Rodrigo", Saldo: 500}

    status := contaFagner.tranferir(100, &contaRodrigo)

    fmt.Println(status)

    fmt.Println(contaFagner)
    fmt.Println(contaRodrigo)

}

Esse é o arquivo contaCorrente.go

package contas

type contaCorrente struct {
    Titular       string
    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 Infuficiente"
    }
}

func (c *contaCorrente) depositar(valorDoDeposito float64) (string, float64) {
    if valorDoDeposito > 0 {
        c.Saldo += valorDoDeposito
        return "Deposito realizado com sucesso! Novo Saldo: R$", c.Saldo
    } else {
        return "O valor do deposito é menor que zero. Saldo Atual: R$", c.Saldo
    }

}

func (c *contaCorrente) tranferir(valorTransferencia float64, constaDestino *contaCorrente) bool {
    if valorTransferencia < c.Saldo && valorTransferencia > 0 {
        c.Saldo -= valorTransferencia
        constaDestino.depositar(valorTransferencia)
        return true
    } else {
        return false
    }
}

Além do import ter que ser import "banco/contas você precisa colocar com letra maiúscula:

  • ContaCorrente (struct)
  • Sacar (func)
  • Depositar (func)
  • Tranferir (func)
  • contas.ContaCorrente (chamada na main)
  • contaFagner.Tranferir (chamada na main)