Самый простой ответ, который я могу дать, состоит в том, что горутин похож на процесс. Когда вы вызываете go func () {...} (), программа сообщает программе «Пожалуйста, запустите этот« процесс »в фоновом режиме, пока я продолжаю выполнять свою программу». Как вы, возможно, знаете, запуск процесса может занять некоторое время. Поэтому, пока он запускается, основная программа продолжает работу, выводя «Let's GoGoGo». Если вы уложитесь спать раньше, чем msg = "Let's GoGoGo", вы, вероятно, (совсем не гарантированно !!) увидите вместо этого напечатанное "Let's Go".
Я бы порекомендовал книгу под названием «Параллелизм в Go», чтобы помочь вам понять, как происходит параллелизм в Go.