Neste post, vamos explorar uma mudança pequena, mas poderosa, que chegou no Go 1.26: o built-in new() agora aceita uma expressão como valor inicial. Pode parecer um detalhe, mas simplifica inicializações e abre espaço para padrões de código mais elegantes.
O que é o built-in new()?
O new() é uma função built-in que aloca memória para um tipo e retorna um ponteiro inicializado com o valor zero do tipo. Historicamente, você só podia passar um tipo para new().
Como era antes (Go 1.25 e anteriores)
Antes, se você quisesse alocar memória e inicializar com um valor específico, tinha duas opções:
// Opção 1: alocar e depois atribuir
p := new(int)
*p = 42
// Opção 2: usar composição literal com &
p := &int{42} // Só funciona com tipos estruturados
Leia mais »