Articles of ir

Corpo de pedido de leitura de Golang

Eu estou escrevendo meu próprio logginMiddleware. Basicamente, eu preciso registrar o corpo da solicitação e a resposta. O problema que enfrentei é que, quando leio o corpo, ele fica vazio e não consigo lê-lo duas vezes. Eu entendo que isso acontece porque é do tipo ReadCloser. Existe uma maneira de retroceder o corpo para o […]

Como quebrar uma longa linha de código em Golang?

Vindo do Python, não estou acostumado a ver linhas de código com mais de 80 colunas. Então, quando eu encontrar isso: err := database.QueryRow(“select * from users where user_id=?”, id).Scan(&ReadUser.ID, &ReadUser.Name, &ReadUser.First, &ReadUser.Last, &ReadUser.Email) Eu tentei quebrá-lo para err := database.QueryRow(“select * from users where user_id=?”, id) \ .Scan(&ReadUser.ID, &ReadUser.Name, &ReadUser.First, &ReadUser.Last, &ReadUser.Email) Mas eu […]

Inicializar uma estrutura aninhada em Golang

Não consigo descobrir como inicializar uma estrutura aninhada. Encontre um exemplo aqui: http://play.golang.org/p/NL6VXdHrjh package main type Configuration struct { Val string Proxy struct { Address string Port string } } func main() { c := &Configuration{ Val: “test”, Proxy: { Address: “addr”, Port: “80”, }, } }

Convertendo o Go struct em JSON

Eu estou tentando converter uma estrutura Go para JSON usando o pacote json , mas tudo que eu recebo é {} . Tenho certeza de que é algo totalmente óbvio, mas não vejo isso. package main import ( “fmt” “encoding/json” ) type User struct { name string } func main() { user := &User{name:”Frank”} b, […]

Funções simuladas no Go

Estou aprendendo Go codificando um pequeno projeto pessoal. Mesmo sendo pequeno, decidi fazer testes unitários rigorosos para aprender bons hábitos desde o começo. Testes de unidade triviais foram todos bons e dandy, mas estou intrigado com dependencies agora; Eu quero ser capaz de replace algumas chamadas de function com as falsas. Aqui está um trecho […]

Dividindo o código do cliente / servidor

Estou desenvolvendo um aplicativo cliente / servidor no golang, e há certas entidades lógicas que existem tanto no cliente quanto no servidor (a lista é limitada) Gostaria de garantir que determinado código para essas entidades seja incluído SOMENTE na parte do servidor, mas NÃO no cliente (o verso sábio é bom, mas não tão importante). […]

Como manipular o JSON Post Request no Go

Então eu tenho o seguinte, que parece incrivelmente hacky, e eu tenho pensado comigo mesmo que o Go tem bibliotecas melhor projetadas do que isso, mas não consigo encontrar um exemplo do Go manipulando uma requisição POST de dados JSON. Eles são todos os POSTs de formulário. Aqui está uma solicitação de exemplo: curl -X […]

Aplicação de versão automática do aplicativo Golang

É possível incrementar um número de versão secundária automaticamente cada vez que um aplicativo Go é compilado? Eu gostaria de definir um número de versão dentro do meu programa, com uma seção de incremento automático: $ myapp -version MyApp version 0.5.132 Sendo 0.5 o número da versão que eu configurei, e 132 um valor que […]

Preencha os.Stdin para a function que lê a partir dele

Como faço para preencher os.Stdin no meu teste para uma function que lê usando um scanner? Eu solicito uma input de linha de comando do usuário através de um scanner usando a seguinte function: func userInput() error { scanner := bufio.NewScanner(os.Stdin) println(“What is your name?”) scanner.Scan() username = scanner.Text() /* … */ } Agora, como […]

Atribuir struct com outra struct

Eu tenho uma struct RegistrationRequest: type RegistrationRequest struct { Email *string Email2 *string Username *string Password *string Name string } Onde Email2 é o valor do email inserido novamente para verificar se o que o usuário digitou está correto. Eu também tenho uma estrutura de usuário: type User struct { Email *string Username *string Password […]