Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Converter tipos

Fique com uma dúvida na aula 05 do módulo 3 do curso Go: crie uma aplicação web

Durante a aula que estou tendo em golang o professor explica que temos que converter o que vem no método post (de uma pagina .html) e converter os tipos que são int e float, pois vem como string para utilizar no go.

Eu cheguei a me aventurar durante algum tempo em PHP e não era necessário(não que eu lembre) converter os tipos aos receber do html para o PHP.

Alguém sabe me explicar esse conceito?

Não sei se fui clara na pergunta, mas caso não, eu estou à disposição para esclarecer um pouco mais.

Obrigada pessoal!

2 respostas
solução!

Ola Jaqueline, antes de mais nada desculpe a falta de acento, estou com um teclado en-us.

O Go eh uma linguagem fortemente tipada ou seja, ele exige a manipulacao e definicao dos tipos de cada variavel e estruturas, nesse caso a aplicacao necessita dos tipos int e float para calcular e manipular valores, porem o retorno das paginas acabam vindo como string. Por conta disso nao eh possivel realizar calculos pois estamos falando de um tipo texto. por exemplo digamos que sua funcao exige um valor de entrada int, digamos que seu estoque eh 15 e voce recebe do retorno do html um valor de texto "10". Ficari assim

import (
"strconv"
)

func InserirEstoque(qtd, qtdAtual int64) {
    return qtdAtual += qtd
 }

func main() {
    InserirEstoque(strconv.ParseInt("10", 10, 64) , 15)
}

Temos no go algumas bibliotecas nativas para realizar esta conversao .

Para realizar esta conversao de string pra float basta utilizar essa lib https://pkg.go.dev/strconv para conversao entre string e float e string e int. agora para fazer o inverso basta colocar string(valor) ou entre float e int basta colocar int(valorFloat), int32(valorFloat), int64(valorFloat), float64(valorInt), float32(valorInt).

Obrigada Pedro!