GoLang: Preparando o ambiente de desenvolvimento

 development, go, golang

Para iniciar o desenvolvimento com Go é necessário preparar o ambiente que utilizaremos para desenvolver. O guia a seguir foi criado com base em macOS, mas pode também ser utilizado no Linux. Para saber mais sobre como instalar em outras plataformas consulte a seção de Downloads do site oficial do Golang. Instale o compilador do Go utilizando Homebrew: $ brew install go Alternativamente, baixe o pacote de instalação diretamente do site oficial do Golang Configurar os diretórios e variáveis de ambiente Crie um diretório para armazenar os módulos, códigos-fonte, binários, etc utilizados pelo Go. Este será o seu workspace. $ mkdir -p

Java Optionals: orElse ou orElseGet ?

 development, java

No Java 8 foram introduzidos os Optionals. Estes são extremamente uteis em vários cenários onde não há certeza de retorno de valores validos. Uma função que tende a causar um pouco de confusão é a .orElse e .orElseGet. A princípio parecem iguais mas há diferenças substaciais entre elas no que diz respeito a funcionalidade e performance. Ao observar a assinatura dos métodos public T orElse(T other) public T orElseGet(Supplier<? extends T> other) Podemos ver claramente que .orElse() retorna um valor do tipo T e aceita um valor do mesmo tipo, enquanto .orElseGet() retorna um valor do