четверг, 16 апреля 2020 г.

Компиляция кода Go

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Мб), заключается в том, что он статически связанный, что означает, что он не требует никаких внешних библиотек для исполнения.


Читайте также:


Комментариев нет:

Отправить комментарий