vkorbes / aprendago

Curso completo em português da linguagem Go, de zero a ninja! 🇧🇷
http://aprendago.com
988 stars 179 forks source link

Exercício: Capítulo 17, Exercício 1 (Nível: 8) #54

Open vkorbes opened 3 years ago

vkorbes commented 3 years ago

Exercício: Capítulo 17, Exercício 1 (Nível: 8)

Link para o vídeo:

Use esta thread para compartilhar sua solução, discutir o exercício com os colegas e pedir ajuda caso tenha dificuldades!

diegoparra commented 3 years ago

Primeira vez que rodei deu erro (obvio) mais logo lembrei da história do bootcamp hahaha.

https://play.golang.org/p/_UGKZ9QnjwT

haystem commented 3 years ago

Colocar minha solução, fiz com fmt.Println e os.Stdout.Write e me liguei que com fmt tinha que converter para string senão sai o slice em tela E depois da história do bootcamp impossível não lembrar da dica:

https://play.golang.org/p/jTmce2Xp7w9

an4kein commented 3 years ago

https://play.golang.org/p/7L4ZyaduZoI

Dando vazio e eu sem entender o que estava fazendo de errado [{},{},{}] depois lembrei da historinha do bootcamp lol

package main

/* - Partindo do código abaixo, utilize marshal para transformar []user em JSON.
    - https://play.golang.org/p/U0jea43X55​
- Atenção! Tem pegadinha aqui.
- Solução: https://play.golang.org/p/gUOHXruFGs
*/

import (
    "encoding/json"
    "fmt"
)

type User struct {
    First string
    Age   int
}

func main() {
    u1 := User{
        First: "James",
        Age:   32,
    }

    u2 := User{
        First: "Moneypenny",
        Age:   27,
    }

    u3 := User{
        First: "M",
        Age:   54,
    }

    users := []User{u1, u2, u3}
    // your code goes here
    //func Marshal(v interface{}) ([]byte, error)
    sb, err := json.Marshal(&users)
    if err != nil {
        fmt.Println(err)
    }
    fmt.Println(string(sb))

}

Output

[{"First":"James","Age":32},{"First":"Moneypenny","Age":27},{"First":"M","Age":54}]

Program exited.
alansantosmg commented 3 years ago

Pra não fazer um por um, coloquei em um slice:

package main

import (
    "encoding/json"
    "fmt"
)

type User struct {
    First string
    Age   int
}

func main() {
    u1 := User{
        First: "James",
        Age:   32,
    }

    u2 := User{
        First: "Moneypenny",
        Age:   27,
    }

    u3 := User{
        First: "M",
        Age:   54,
    }

    Users := []User{u1, u2, u3}

    userSlice, err := json.Marshal(Users)
    if err != nil {
        fmt.Println("Não exportado. Verifique.")
    }

    fmt.Println(string(userSlice))
}
wfrsilva commented 2 years ago

Cap. 17 – Exercícios: Nível #8 – 1 https://go.dev/play/p/0lJe2EeCgHE

image

LelecoNN commented 9 months ago

package main

import ( "encoding/json" "fmt" )

type User struct { First string Age int }

func main() { users := []User{ User{First: "James", Age: 32}, User{First: "Moneypenny", Age: 27}, User{First: "M", Age: 54}, } u, erros := json.Marshal(users) if erros != nil { fmt.Println(erros) } fmt.Println(string(u)) }https://go.dev/play/p/_WlYrvEVVHx