Go не заботится об имени исходного файла автономной программы, если имя пакета является main и в нем есть одна функция main(). С функции main() начинается выполнение программы, поэтому вы не можете иметь несколько функций main() в файлах одного проекта.
Возьмем для примера следующий файл example.go:
package main
import (
"fmt"
)
func main() {
fmt.Println("Hello, I am example program!")
}
Для того, чтобы скомпилировать example.go и создать статически связанный исполняемый файл, вам нужно выполнить команду go build:
$ go build example.go
После этого у вас будет новый исполняемый файл с именем example:
$ file example
example: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, with debug_info, not stripped
$ ls -l example
-rwxr-xr-x 1 user user 2011612 apr 16 22:37 example
$ ./example
Hello, I am example program!
Основная причина того, что example такой большой (почти 2Мб), заключается в том, что он статически связанный, что означает, что он не требует никаких внешних библиотек для исполнения.
Читайте также:
Комментариев нет:
Отправить комментарий