Uma das funcionalidades mais legais de Go é a facilidade de se utilizar concorrência. A linguagem nos fornece as chamadas goroutines
que são lighweight threads gerenciadas pelo própio runtime do Go. Concorrência nos permite rodar diversas funções ao mesmo tempo. Isso é extremamente útil caso você queira melhorar a performance de sua aplicação.
Para utilizar essa funcionalidade, basta colocar a palavra-chave go
antes de qualquer função e ela automaticamente vai estar rodando de forma concorrente. Para ficar mais fácil de entender, vamos ver um pouco de código. Aqui está implementado o SleepSort
, é um algoritmo de ordenação que utiliza um sleep
para poder colocar cada elemento no seu lugar.