如何用Go语言编译程序?

时间:2013-06-27 02:19:06

标签: go debian

我正在使用Go语言迈出第一步,我正在尝试在Debian Squeeze中安装它。 我按照下载源代码的步骤,然后,我在终端上执行了此操作:

cd $GOROOT/src
./all.bash

最后,它说:

# Checking API compatibility.
Go version is "go1.1.1", ignoring -next /root/go/api/next.txt
~pkg net, func ListenUnixgram(string, *UnixAddr) (*UDPConn, error)
~pkg syscall (darwin-386), func Fchflags(string, int) error
~pkg syscall (darwin-386-cgo), func Fchflags(string, int) error
~pkg syscall (darwin-amd64), func Fchflags(string, int) error
~pkg syscall (darwin-amd64-cgo), func Fchflags(string, int) error
~pkg syscall (freebsd-386), func Fchflags(string, int) error
~pkg syscall (freebsd-amd64), func Fchflags(string, int) error
~pkg text/template/parse, type DotNode bool
~pkg text/template/parse, type Node interface { Copy, String, Type }

    ALL TESTS PASSED

---
Installed Go for linux/amd64 in /root/go
Installed commands in /root/go/bin

所以,这本书说我需要做一些测试并用6g编译它。但我这样试试:

将第一个Go程序编译为:6g test.go 这将编译成一个文件:test.6 与命令链接:6l test.6 这将生成名为:6.out的可执行文件 使用以下命令执行:./6.out 并产生输出:Hello,world

但没有任何作用,我的代码是:

package main
func main() {
         println(“Hello”, “world”)
}

所以,我不知道还有什么要做...我现在知道我的编译器的名称,所以我不知道如何在Debian中编译它...如果你愿意的话,请伸手一步。 ..我真的很感谢你!

3 个答案:

答案 0 :(得分:11)

您好像遵循以下说明:

  

走向出路:Go编程语言的全面介绍   作者:Ivo Balbaert。   部分2.3在Linux系统上安装Go

这些说明已过期。他们使用Go的过时版本,发布0.60。您已安装Go版本1.1.1。

有关最新说明,请参阅Installing Go from source

此外,当您从书中复制程序时,本书在代码示例中使用“(左双引号)和”(右双引号)。 Go期望“(引号)。

test.go Go程序写为:

package main

func main() {
    println("Hello", "world")
}

当您安装Go时,它会告诉您“Installed commands in /root/go/bin”。您需要在$ PATH中使用/root/go/bin,以便它可以找到(识别)Go命令。

从包含test.go文件的目录中,运行

$ export PATH=$PATH:/root/go/bin
$ go version
go version go1.1.1 linux/amd64
$ go run test.go
Hello world

如果失败了,你会得到什么输出?

答案 1 :(得分:4)

看起来你已经成功安装了Go from source,但是你应该通过Go Tour完成工作,这将介绍Go中的编程概念。

您提供的代码缺少一些部分。您需要导入“fmt”库,然后通过使用fmt.对它们进行前缀来调用其中的任何函数。

例如:

package main

import "fmt"

func main() {
         fmt.Println(“Hello”, “world”)
}

我还建议按顺序浏览this page上的链接。他们逐渐引入更复杂的概念。

此外,尽管使用6g是编译Go代码的有效方法,但更常见的是使用go run测试代码,并使用go build进行编译。有关详细信息,请参阅http://golang.org/cmd/go/

我希望有所帮助。

答案 2 :(得分:0)

这是官方下载站点:GO / Downloads

点击适合您系统的文件后,您将重定向到页面,其中包含有关如何完成安装过程的说明。

对于 Linux macOS FreeBSD ,尤其是对于 Debian 压缩文件,您应该将归档文件提取到 /usr/local(它将在/usr/local/go中创建一个 Go 树,通常这些命​​令必须以{{1 }}或通过root):

sudo

在您的用户的 tar -C /usr/local -xzf go1.12.7.linux-amd64.tar.gz 末尾添加以下行:

~/.profile

对于当前的终端会话,您还可以调用以下命令:

PATH=$PATH:/usr/local/go/bin