Nesse segundo vídeo da série “Cavando o Fonte”, vamos explorar o package path e ver como algumas das suas funções mais utilizadas são implementadas.
Deixem suas dúvidas nos comentários.
Até a próxima!
Faça parte da comunidade!
Receba os melhores conteúdos sobre Go, Kubernetes, arquitetura de software, Cloud e esteja sempre atualizado com as tendências e práticas do mercado.
Formatando strings para logs e mensagens
Se você já trabalha com Go a algum tempo, muito provavelmente você já conhece e utiliza o %s, %d e o \n. Pois bem, nesse post vamos abordar os principais os verbos disponíveis para te ajudar na hora de formatar uma string em Go.
Se você é novo em Go, saiba que os verbos que vamos abordar nesse post podem ser utilizados com as funções Printf, Sprintf e Errorf do package fmt, assim como as funções Fatalf, Panicf e Printf do package log.
Para começar, vamos a um exemplo bem simples utilizando somente os dois verbos que já comentamos. Digamos que nosso programa, sempre que alguém pede um novo café, exibe o nome da pessoa e a quantidade de café que ela consumiu no dia.
func main() {
name := "Tiago"
coffee := 5
fmt.Printf("Olá %s, você já bebeu %d cafés hoje", name, coffee)
}
Ao ser executado, o %s será substituido pelo conteúdo da váriavel name, e o %d pela vafiável coffee.
Carregando configurações com Viper
Na semana passada, falamos sobre como carregar configurações de um arquivo TOML.
Hoje vamos ver como carregar configurações de arquivos JSON, TOML, YAML, HCL, envfile e Java properties usando uma única dependência, Viper.
Viper é um package utilizado por grande projetos como Hugo, Docker Notary e doctl.
Além de ler todos os tipos de arquivo mencionado acima, ele também consegue ler variáveis de ambiente, etcd, Consul, flags de linhas de comando e buffers.
Sem mais delongas, vamos iniciar nosso tutorial instalando essa dependência em nosso projeto.
$ go get github.com/spf13/viper
Leia mais »
Diretórios e packages especiais
No post de hoje vamos falar um pouco sobre nomes reservados para packages e pastas.
Main
Package main é o principal package de um programa Go. É nesse package que vamos colocar nossa função main, que é a primeira função a ser executada.
package main
import "fmt"
func main() {
fmt.Println("Olá Mundo!")
}
O package main só deve existir em programas executáveis, ou seja, caso você esteja fazendo uma lib, esse package não deve existir.
Leia mais »