文档章节

Gopher入坑记一,Go语言安装及第一个程序

江州首席爱码士
 江州首席爱码士
发布于 2017/06/01 13:14
字数 587
阅读 220
收藏 0

1、下载

官网下载地址:https://golang.org/dl/,支持linux,windows,mac,FreeBSD操作系统及32位(386)和64位(amd64)的 x86 处理器架构。选择你系统环境对应的下载就OK。(下面的介绍都是在ubuntu 16.4 32位系统环境下)。

Tips:一定要下载对应版本,不然会出问题,我开始下载的就是64位版本,在32位下面运行一直报错,如下:

root@ubuntu:/usr/local/go/src# go run index.go 
bash: /usr/local/go/bin/go: cannot execute binary file: 可执行文件格式错误

2、安装

下载对应的安装包,然后执行如下代码,将文件解压到 /usr/local,Go官方推荐目录。

tar -C /usr/local -xzf go1.8.3.linux-386.tar.gz

将上面代码的后面部分替换为你自己的安装包文件名称,这样你的程序目录就是/usr/local/go,进入该目录,ls一下,能够看到很多的文件夹和文件:

  • api文件夹。用于存放Go每个版本中的变量、常量、函数等。
  • bin文件夹。用于存放主要的标准命令文件,包括go、godoc等。
  • blog文件夹。用于存放官方博客的文章。
  • doc文件夹。用于存放一个本地的官方网站,我们可以通过命名 godoc -http=:8222运行起来,然后在浏览器中输入127.0.0.1:8222就可以查看了。
  • lib文件夹。用于存放特色的库文件。
  • misc文件夹。用于存放一些辅助类的说明和工具。
  • pkg文件夹。用于存放安装Go标准库后的所有归档文件。
  • src文件夹。用于存放所有的源码文件。
  • test文件夹。用于存放测试和验证Go本身相关的文件。

接下来,我们需要设置go的一个环境变量。 要将 /usr/local/go/bin 添加到 PATH 环境变量, 你需要将此行添加到你的 /etc/profile(全系统永久安装)。

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

3、第一个go版的hello world程序。

进入/usr/local/go/src目录,创建一个名为index.go的文件,输入以下代码:

package main

import "fmt"

func main() {
    fmt.Printf("hello, world\n")
}

通过go来运行它。

root@ubuntu:/usr/local/go/src# go run index.go 
hello, world

如果成功的输出了,那么,恭喜你。

© 著作权归作者所有

共有 人打赏支持
江州首席爱码士
粉丝 1
博文 2
码字总数 2043
作品 0
渝北
技术主管
Go 语言编写轻量级网络库以及工具库 - GrapeNet

Go语言编写轻量级网络库 (grapeNet is a lightweight and Easy Use Network Framework) 可用于游戏服务端、强网络服务器端或其他类似应用场景,每个模块单独提取并且拥有独立的使用方法,内部...

我勒个去啊汗
2017/08/14
206
0
对一段Go语言代码输出结果的简要分析

对一段Go语言代码输出结果的简要分析 Tony Bai2018-03-202 阅读 FunctionGo 年后事情实在是多,各种被催进度,于是好长一段时间未更博客了,自责中….。今天蹦出来热热身^0^! 中午在微博私信...

Tony Bai
03/20
0
0
Go 语言发展史及史上最全 Go 语言知识图谱!

Go 语言发展至今已经过去十年多了,是目前最流行的新兴语言,云计算领域的首选语言,而且目前随着区块链的流行,Go 再次成为了这个领域的第一语言,以太坊,IBM 的 fabric 等重量级的区块链项...

Go中国
03/06
0
0
Gopher 协议实现--Overbite

Overbite项目是一个开源项目,致力于开发出支持Gopher协议的浏览器插件和客户端应用程序。Gopher协议是分布文件搜集获取网络协议,诞 生于HTML之前,与World Wide Web处于同一时代,但最终W...

匿名
2010/07/06
659
0
defer函数参数求值简要分析

defer函数参数求值简要分析 Tony Bai2018-03-231 阅读 FunctiondeferGo 一. 引子 书接上文,在发表了 《对一段Go语言代码输出结果的简要分析》 一文之后,原问题提出者又有了新问题,这是一个...

Tony Bai
03/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSX | SafariBookmarksSyncAgent意外退出解决方法

1. 启动系统, 按住⌘-R不松手2. 在实用工具(Utilities)下打开终端,输入csrutil disable, 然后回车; 你就看到提示系统完整性保护(SIP: System Integrity Protection)已禁用3. 输入reboot回车...

云迹
今天
4
0
面向对象类之间的关系

面向对象类之间的关系:is-a、has-a、use-a is-a关系也叫继承或泛化,比如大雁和鸟类之间的关系就是继承。 has-a关系称为关联关系,例如企鹅在气候寒冷的地方生活,“企鹅”和“气候”就是关...

gackey
今天
4
0
读书(附电子书)|小狗钱钱之白色的拉布拉多

关注公众号,在公众号中回复“小狗钱钱”可免费获得电子书。 一、背景 之前写了一篇文章 《小狗钱钱》 理财小白应该读的一本书,那时候我才看那本书,现在看了一大半了,发现这本书确实不错,...

tiankonguse
今天
4
0
Permissions 0777 for ‘***’ are too open

异常显示: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ......

李玉长
今天
5
0
区块链10年了,还未落地,它失败了吗?

导读 几乎每个人,甚至是对通证持怀疑态度的人,都对区块链的技术有积极的看法,因为它有可能改变世界。然而,区块链技术问世已经10年了,我们仍然没有真正的用上区块链技术。 几乎每个人,甚...

问题终结者
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部