Não é um shebang, é apenas um script que é executado pelo shell padrão. O shell executa a primeira linha
//usr/bin/env go run $0 $@ ; exit
que faz com que go
seja invocado com o nome desse arquivo, então o resultado é que este arquivo é executado como um script go e, em seguida, o shell sai sem olhar o resto do arquivo.
Mas por que começar com //
em vez de apenas /
ou um bom shebang #!
?
Isso ocorre porque o arquivo precisa ser um script válido, ou vai reclamar. Em go, os caracteres //
denotam um comentário, então, vamos ver a primeira linha como um comentário e não tentamos interpretá-lo. O caractere #
no entanto, não denota um comentário, portanto, um shebang normal resultaria em um erro ao interpretar o arquivo.
Esse motivo para a sintaxe é apenas para criar um arquivo que seja um script de shell e um script de go sem que um pise no outro.