Analisando o código-fonte para a função de discagem chamadas , você pode ver que o
Dial
função chama a função DialWithTimeout
função que chama a função DialWithInfo
função. Então, para responder sua pergunta sobre as diferenças entre as funções, parece que Dial
é um wrapper de conveniência para DialWithTimeout
, que por sua vez é um wrapper de conveniência para DialWithInfo
, para que resultem no mesmo pool de conexões. Quanto a como gerenciar esse pool de conexões, você acertou em sua pergunta.
Portanto, uma única chamada para
Dial
ou DialWithTimeout
ou DialWithInfo
estabelecerá o pool de conexões, se você precisar de mais de uma sessão, use o session.New()
ou session.Copy()
métodos para obtê-lo da sessão retornada de qualquer função de discagem que você escolheu usar.