Postagens

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" ...

Kotlin Básico: Tipos Básicos

Imagem
 Embora Kotlin seja uma linguagem fortemente tipada não precisamos declarar os tipos explicitamente. O compilador através do mecanismo de inferência de tipo tenta "descobrir" o tipo da variável segundo a informação incluídas nela. Diferente da linguagem Java, em Kotlin tudo é um objeto promovendo as primitivas a objetos completos e o compilador sempre que possível mapeará os tipos básicos de volta para primitivas da JVM por questões de desempenho.   Números   Todo número tem uma função que converterá o valor em outros tipos numéricos. Por exemplo, para converter um double em um float, usamos a função toFloat() . Booleanos   Chars   Os chars representam um único caractere. Caracteres literais usam aspas simples, como em 'A' ou 'Z'. Alem de permitir scaping como o " \n ", todos os caracteres unicode podem ser representados pelo número unicode como o \u1234 . Strings   As Strings são imutáveis e podem ser criadas usando aspas duplas ...

Kotlin Básico : Var e Val

Imagem
 Em kotlin existem duas palavras reservadas para declarar uma nova variável: var ou val . Quando optamos por utilizar var estamos esperando que essa variável tenha o comportamento de ser mutável , poder ser alterada. Uma var pode ser declarada e posteriormente inicializada. var pode ter outro valor atribuído a ela, como já mencionado no início. A palavra reservada val utilizamos quando estamos precisamos de uma variável apenas de leitura . Deve ser inicializada com valor pois não pode ser alterada posteriormente. Vale lembrar que uma variável de leitura val não significa que a instância em si seja imutável, as propriedades de um objeto val podem ser alteradas, mas o próprio objeto é somente leitura. Para exemplificar vamos tentar redefinir o valor no exemplo Ao tentar executar o código vamos receber o erro " Val cannot be reassigned ". Recebemos este erro porque estamo...