Tittar på källkoden för Dial-funktionen samtal
, kan du se att Dial funktionen anropar DialWithTimeout funktion som anropar DialWithInfo fungera. Så för att svara på din fråga om skillnaderna mellan funktionerna verkar det som Dial är ett bekvämlighetsomslag för DialWithTimeout , som i sin tur är ett bekvämlighetspaket för DialWithInfo , så de resulterar i samma anslutningspool.
Om hur man hanterar den anslutningspoolen, du har rätt i din fråga.
Så ett enda samtal till Dial eller DialWithTimeout eller DialWithInfo kommer att upprätta anslutningspoolen, om du behöver mer än en session, använd session.New() eller session.Copy() metoder för att hämta den från sessionen som returneras från vilken Dial-funktion du än väljer att använda.