Postagens

Mostrando postagens de janeiro, 2024

Go Básico: Generics

Imagem
A linguagem Go nasceu sem o recurso conhecido como generics , que é uma forma mais "elegante" de criar novos tipos de parâmetros ( exp: um parâmetro de uma função ) que podem ser compostos de outros tipos. Para ilustrar, podemos criar uma função que some a pontuação de todos os jogadores, representada em um mapa com seus nomes e sua pontuação final, que serão inicialmente números inteiros. package main import "fmt" func main() { scores := map[string]int{"User01": 100, "User02": 150, "User03": 50} fmt.Printf("Final score: %d\n", AddScores(scores)) } func AddScores(scores map[string]int) int { var total int for _, score := range scores { total += score } return total } Agora, vamos imaginar que precisamos lidar não apenas com o nosso mapa que representa os pontos em números inteiros, mas também com um novo mapa que representa a pontuação com números decimais. Essa simples alteração faria com que noss

Go Básico: Manipulação de Arquivos

Imagem
Todo desenvolvedor em algum momento já se deparou com a necessidade de manipular e escrever arquivos, não é mesmo? Em Go, existem algumas maneiras bem simples de resolvermos essa necessidade de forma rápida. Para criar um novo arquivo e escrever algum conteúdo neste novo arquivo, podemos escrever o seguinte código. package main import ( "fmt" "os" ) func main() { //Creating a new file f, err := os.Create("test.txt") if err != nil { panic(err) } defer f.Close() //Writing to the new file. size, err := f.Write([]byte("Hello World!")) if err != nil { panic(err) } fmt.Printf("Size file: %d bytes", size) //If the content of your file is only text, you can opt for this other function. //size, err := f.WriteString("Hello World") } Agora que já criamos e escrevemos em um novo arquivo, podemos realizar a leitura deste arquivo com o seguinte código: package main import ( "fmt" "