我被告知要构建一个go二进制文件并像这样执行它。
go build hello-world.go
$ ls
hello-world hello-world.go
./hello-world
hello world
因此go build hello-world.go
采用人类可读的hello-world.go
文件并创建二进制文件。
我的两个问题是:
通常,编译代码和可直接执行的文件有什么好处?是不是它不依赖于您的OSX或任何其他依赖项?怎么来的?
为什么./hello-world
执行创建的二进制文件。
答案 0 :(得分:0)
./hello-world执行创建的二进制文件的原因是基于shell脚本的概念。将bash,每个bash文件视为#!/bin/bash
,以表明它是shell引擎可执行的shell脚本。通过权限使该文件可执行,允许使用。/file.sh
执行文件,因为解释器被触发。在这种情况下,配置为以相同的方式行事。 Brian Kernighan帮助创建了UNIX,他也是Golang团队的成员,因此文件执行的概念在架构上得到了体现。
编译代码的优点是,在运行时启用静态分析,Go是一种强类型语言。这是因为编译后的代码允许进行大量优化。
答案 1 :(得分:0)
./
$PATH
前缀
醇>