文档章节

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

江州首席爱码士
 江州首席爱码士
发布于 2017/06/01 13:14
字数 587
阅读 97
收藏 0
点赞 0
评论 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 ⋅ 0

对一段Go语言代码输出结果的简要分析

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

Tony Bai ⋅ 03/20 ⋅ 0

Go 语言发展史及史上最全 Go 语言知识图谱!

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

Go中国 ⋅ 03/06 ⋅ 0

Gopher 协议实现--Overbite

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

匿名 ⋅ 2010/07/06 ⋅ 0

defer函数参数求值简要分析

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

Tony Bai ⋅ 03/23 ⋅ 0

Golang资料集

该资源的github地址:Qix 《Platform-native GUI library for Go》 介绍:跨平台的golang GUI库,支持Windows(xp以上),Unix,Mac OS X(Mac OS X 10.7以上) 《Gopm 快速入门》 介绍:Gopm(Go 包管...

ty4z2008 ⋅ 2016/03/11 ⋅ 0

Python机器学习笔记(一):64位win7安装Python+numpy+matplotlib

买了一本电子书,《机器学习实战》by Peter Harrington。顺便开始重新学Python。之前学过一次是在11年左右,学完R之后看到Python的机器学习工具,觉得有意思就上手过一阵,不过接下来马上就投...

Airship ⋅ 2016/09/02 ⋅ 0

Go 的这十年!Go 语言之父等人回顾

本文由伯乐在线 -听风 翻译,艾凌风 校稿。未经许可,禁止转载! 英文出处:commandcenter。欢迎加入翻译组。 【导读】:Go 语言的主要缔造者 Rob Pike、Robert Griesemer 与 Ken Thompson,...

伯乐在线 ⋅ 2017/12/04 ⋅ 0

【结果很简单,过程很艰辛】记阿里云Ons消息队列服务.NET接口填坑过程

阅读目录 1、阿里云ONS介绍 2、系统环境、问题和解决过程 3、资源与工具 Maybe 这个问题很简单,因为解决方法是非常简单,但填坑过程会把人逼疯,在阿里云ONS工作人员、同事和朋友的协助下,...

老朱第八 ⋅ 2017/11/07 ⋅ 0

深度学习总结、资源与规划

终于可以放假回家了,虽然只有半个月,但是还是可以好好地做个休整(陪女朋友)。 这学期作为一个学数学的咸鱼,从今年4月份开始入坑深度学习,4月初写了第一篇文章,4月初正式入坑github和PyT...

SherlockLiao ⋅ 2017/07/27 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JavaScript零基础入门——(八)JavaScript的数组

JavaScript零基础入门——(八)JavaScript的数组 欢迎大家回到我们的JavaScript零基础入门,上一节课我们讲了有关JavaScript正则表达式的相关知识点,便于大家更好的对字符串进行处理。这一...

JandenMa ⋅ 59分钟前 ⋅ 0

sbt网络问题解决方案

转自:http://dblab.xmu.edu.cn/blog/maven-network-problem/ cd ~/.sbt/launchers/0.13.9unzip -q ./sbt-launch.jar 修改 vi sbt/sbt.boot.properties 增加一个oschina库地址: [reposit......

狐狸老侠 ⋅ 今天 ⋅ 0

大数据,必须掌握的10项顶级安全技术

我们看到越来越多的数据泄漏事故、勒索软件和其他类型的网络攻击,这使得安全成为一个热门话题。 去年,企业IT面临的威胁仍然处于非常高的水平,每天都会看到媒体报道大量数据泄漏事故和攻击...

p柯西 ⋅ 今天 ⋅ 0

Linux下安装配置Hadoop2.7.6

前提 安装jdk 下载 wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.7.6/hadoop-2.7.6.tar.gz 解压 配置 vim /etc/profile # 配置java环境变量 export JAVA_HOME=/opt/jdk1......

晨猫 ⋅ 今天 ⋅ 0

crontab工具介绍

crontab crontab 是一个用于设置周期性被执行的任务工具。 周期性执行的任务列表称为Cron Table crontab(选项)(参数) -e:编辑该用户的计时器设置; -l:列出该用户的计时器设置; -r:删除该...

Linux学习笔记 ⋅ 今天 ⋅ 0

深入Java多线程——Java内存模型深入(2)

5. final域的内存语义 5.1 final域的重排序规则 1.对于final域,编译器和处理器要遵守两个重排序规则: (1)在构造函数内对一个final域的写入,与随后把这个被构造对象的引用赋值给一个引用...

江左煤郎 ⋅ 今天 ⋅ 0

面试-正向代理和反向代理

面试-正向代理和反向代理 Nginx 是一个高性能的反向代理服务器,但同时也支持正向代理方式的配置。

秋日芒草 ⋅ 今天 ⋅ 0

Spring 依赖注入(DI)

1、Setter方法注入: 通过设置方法注入依赖。这种方法既简单又常用。 类中定义set()方法: public class HelloWorldOutput{ HelloWorld helloWorld; public void setHelloWorld...

霍淇滨 ⋅ 昨天 ⋅ 0

马氏距离与欧氏距离

马氏距离 马氏距离也可以定义为两个服从同一分布并且其协方差矩阵为Σ的随机变量之间的差异程度。 如果协方差矩阵为单位矩阵,那么马氏距离就简化为欧氏距离,如果协方差矩阵为对角阵,则其也...

漫步当下 ⋅ 昨天 ⋅ 0

聊聊spring cloud的RequestRateLimiterGatewayFilter

序 本文主要研究一下spring cloud的RequestRateLimiterGatewayFilter GatewayAutoConfiguration @Configuration@ConditionalOnProperty(name = "spring.cloud.gateway.enabled", matchIfMi......

go4it ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部