Articles of ir

Assinatura de function sem corpo da function

Ao visualizar a origem do método math.Ceil , encontrei esta syntax em que há uma assinatura de function exportada sem corpo e uma versão não exportada da mesma assinatura que inclui a implementação: // Ceil returns the least integer value greater than or equal to x. // // Special cases are: // Ceil(±0) = ±0 […]

Qual é a diferença de funções e methods no Go?

Eu estou tentando começar com o Go e a documentação é muito boa. O que eu não encontrei na documentação é a diferença entre funções e methods. Tanto quanto eu entendo no momento: funções são “globais”, o que significa que eu não tenho que importar um pacote para usar funções, elas estão sempre lá. Métodos […]

Inicializar definição de estrutura aninhada em Golang

Como você inicializa a seguinte estrutura? type Sender struct { BankCode string Name string Contact struct { Name string Phone string } } Eu tentei: s := &Sender{ BankCode: “BC”, Name: “NAME”, Contact { Name: “NAME”, Phone: “PHONE”, }, } Não funcionou: mixture of field:value and value initializers undefined: Contact Eu tentei: s := &Sender{ […]

Qual é o idiomático Go equivalente do operador ternário de C?

Em C / C ++ (e em muitos idiomas dessa família), um idioma comum para declarar e inicializar uma variável dependendo de uma condição usa o operador condicional ternário: int index = val > 0 ? val : -val Go não tem o operador condicional. Qual é a maneira mais idiomática de implementar o mesmo […]

Ordenar valores do mapa Ir por chaves

Ao iterar pelo mapa retornado no código, retornado pela function de tópico, as chaves não aparecem em ordem. Como posso colocar as chaves em ordem / ordenar o mapa para que as chaves estejam em ordem e os valores correspondam? Aqui está o código .

Receptor de valor vs. Receptor de ponteiro em Golang?

É muito incerto para mim, caso em que eu gostaria de usar um receptor de valor em vez de sempre usar um receptor de ponteiro. Para recapitular a partir dos documentos: type T struct { a int } func (tv T) Mv(a int) int { return 0 } // value receiver func (tp *T) Mp(f […]

Quais são os benefícios de usar o Nginx na frente de um servidor da Web para o Go?

Estou escrevendo alguns webservices retornando dados JSON, que têm muitos usuários. Quais são os benefícios de usar o Nginx na frente do meu servidor em comparação com o uso do servidor http?

Qual é a maneira recomendada de se conectar ao MySQL a partir do Go?

Eu estou procurando uma solução confiável para se conectar a um database MySQL da Go. Eu vi algumas bibliotecas ao redor, mas é difícil determinar os diferentes estados de integridade e manutenção atual. Eu não tenho necessidades complicadas, mas gostaria de saber no que as pessoas confiam, ou qual é a solução mais padrão para […]

Iterar sobre uma interface

Eu quero criar uma function que leva um mapa ou uma matriz de qualquer coisa e itera sobre ele chamando uma function em cada item que sabe o que fazer com os tipos que encontra. Aqui está minha primeira tentativa fracassada. Atualmente, quando eu o executo no meu caso de uso real, ele sempre diz […]

Se eu estou usando canais corretamente, devo usar mutexes?

Se eu estiver usando canais corretamente, devo usar mutexes para proteger contra o access simultâneo?