On GitHub#/tree/lesson-01
Golang 01 - Criando nosso App
Um App simples gerador de QR code
Essa sequência de aulas irá te ensinar o básico sobre como desenvolver com Golang. Para isso, nós vamos utilizar um repositório no github onde eu vou colocar todos os arquivos que serão utilizados para desenvolver o projeto, assim como as explicações.
Expectativas
Nessa aula vamos aprender como baixar um pacote em Go, como receber valores do usuário e devolver valores na tela via CLI, além de como importar tanto pacotes internos quanto externos.
O termo CLI vem de Command Line Interface, você pode conhecer mais esse termo aqui.
Ponto de partida
Primeiros passos
Vamos começar criando o nosso arquivo principal:
touch main.go
Abra o main.go
e adicione o seguinte código:
package main
import (
"fmt"
)
func main() {
fmt.Println("Hello, world!")
}
Para rodar o código:
go run main.go
Adicionando Barcode
Vamos utilizar a biblioteca boombuler/barcode para gerar QR codes.
Instale a biblioteca com:
go get github.com/boombuler/barcode
Atualize os imports do main.go
:
import (
"image/png"
"os"
"github.com/boombuler/barcode"
"github.com/boombuler/barcode/qr"
)
Agora, vamos gerar um QR code:
input := "Hello, world!"
qrCode, err := qr.Encode(input, qr.M, qr.Auto)
if err != nil {
panic(err)
}
Escalamos o QR code para um tamanho adequado:
qrCode, err = barcode.Scale(qrCode, 200, 200)
if err != nil {
panic(err)
}
Criamos e salvamos o arquivo de saída:
file, err := os.Create("qrcode.png")
defer file.Close()
if err != nil {
panic(err)
}
png.Encode(file, qrCode)
Para rodar o código e gerar o QR code:
go run main.go
Recebendo input do usuário
Modifique o código para receber uma string do usuário:
import "fmt"
var input string
fmt.Println("Enter your string: ")
fmt.Scanln(&input)
Conclusão
Agora seu código consegue gerar QR codes dinâmicos. Nas próximas aulas, vamos refatorar o código para melhorar sua organização.