Go基本安装

前言

之前一直对Go语言抱着很大的兴趣,趁现在有时间从头好好学习遍。

简介

官网对Go解释是:”Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.”,那么翻译中文是:“Go是一种开源编程语言,可以轻松构建简单,可靠且高效的软件。”

似乎这句话很大众话,好像没啥感觉,那么来个更详细的解释:

  • Go是一种新的语言,一种并发的、带垃圾回收的、快速编译的语言。它具有以下特点: 它可以在一台计算机上用几秒钟的时间编译一个大型的Go程序。
  • Go为软件构造提供了一种模型,它使依赖分析更加容易,且避免了大部分C风格include文件与库的开头。
  • Go是静态类型的语言,它的类型系统没有层级。因此用户不需要在定义类型之间的关系上花费时间,这样感觉起来比典型的面向对象语言更轻量级。
  • Go完全是垃圾回收型的语言,并为并发执行与通信提供了基本的支持。
  • 按照其设计,Go打算为多核机器上系统软件的构造提供一种方法。

Go是一种编译型语言,它结合了解释型语言的游刃有余,动态类型语言的开发效率,以及静态类型的安全性。它也打算成为现代的,支持网络与多核计算的语言。要满足这些目标,需要解决一些语言上的问题:一个富有表达能力但轻量级的类型系统,并发与垃圾回收机制,严格的依赖规范等等。这些无法通过库或工具解决好,因此Go也就应运而生了。

如果你需要了解更多的关于Go的基本信息可以去维基百科查看信息,本文不再做更多描述。

Go官方网站:https://golang.org Go官网文档:https://golang.org/doc

既然想去了解,那么上面俩个地址不得不去访问了解下。

安装

使用Go很简单,你只需要安装它的编译器就可以使用了:

首先你需要到下载地址下载你所用的系统安装包,点击安装即可。

Windows

如果是zip解压的需要配置下环境变量,此过程不再描述。如果是msi安装包他会自动配置你的环境编辑,检验你的是否正常使用只需要你打开cmd或者powershell输入:

PS C:\Users\Jaxson> go version

go version go1.10.2 windows/amd64

返回该系统版本信息则正常!

Unix

从官网下载zip压缩包解压到/usr/local/go即可:

tar -C /usr/local -xzf go$VERSION.

添加/usr/local/go/binPATH环境变量:

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

有些命名需要root权限,请根据情况添加sudo执行

GOPATH设置

仅仅安装好了是不够的我们还需要配置一些东西:GOPATH

Go从1.1版本到1.7必须设置这个变量,而且不能和Go的安装目录一样,这个目录用来存放Go源码,Go的可运行文件,以及相应的编译之后的包文件。所以这个目录下面有三个子目录:src、bin、pkg

从go 1.8开始,GOPATH环境变量现在有一个默认值,如果它没有被设置。 它在Unix上默认为$HOME/go,在Windows上默认为%USERPROFILE%/go

如果你的是Unix环境需要:

export GOPATH=/home/apple/GoWork
Bash

那么Windows你需要新建一个环境变量名称叫做GOPATH

GOPATH=F:\GoWork

GOPATH允许多个目录,当有多个目录时,请注意分隔符,多个目录的时候Windows是分号,Linux系统是冒号,当有多个GOPATH时,默认会将go get的内容放在第一个目录下。

以上 $GOPATH 目录约定有三个子目录:

  • src 存放源代码(比如:.go .c .h .s等)
  • pkg 编译后生成的文件(比如:.a)
  • bin 编译后生成的可执行文件(为了方便,可以把此目录加入到 $PATH 变量中,如果有多个gopath,那么使用${GOPATH//://bin:}/bin添加所有的bin目录)

Hello World

当你配置好了,我们进行下一步的构建一个简单的实例去检查是否正常。 在你的上文的GOPATH新建个src/hello/hello.go文件,内容如下:

package main

import "fmt"

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

然后使用终端进入该文件夹,并且构建编译:

C:\> cd %USERPROFILE%\go\src\hello

C:\Users\Gopher\go\src\hello>

当你看到该目录下有个hello.exe可执行文件。继续在终端执行:

C:\Users\Gopher\go\src\hello> hello
hello, world

则会输出hello world

Last modification:May 13th, 2018 at 04:28 pm

© The copyright belongs to the author

 Support

If you think my article is useful to you, please feel free to appreciate

×Close

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏用户2442861的专栏

系统的环境变量path的作用是什么

 http://blog.csdn.net/libo2006/article/details/1531545

1.1K2
来自专栏Java架构

深入理解 Java 多线程核心知识:跳槽面试必备概念梳理线程的生命周期线程的优先级为什么要用线程池ThreadPoolExecutorExecutors

多线程相对于其他 Java 知识点来讲,有一定的学习门槛,并且了解起来比较费劲。在平时工作中如若使用不当会出现数据错乱、执行效率低(还不如单线程去运行)或者死锁...

853
来自专栏python3

python之Windows调试

然后在代码的那个idle界面为代码添加断点,所谓断点简单的说就是调试程序时需要停顿的位置,一般在函数的入口,参数变化的行添加,这里只在fac函数入口添加一个断点...

551
来自专栏极客猴

Python定时任务(下)

上篇文章,我们了解到有三种办法能实现定时任务,但是都无法做到循环执行定时任务。因此,需要一个能够担当此重任的库。它就是 APScheduler。

1853
来自专栏Alice

iOS开发多线程在实际项目中的运用

        同一时间,CPU只能处理一条线程,也就是只有一条线程在工作。所谓多线程并发(同时)执行,

772
来自专栏张戈的专栏

启用WP Super Cache纯代码版本之后的一些优化措施

张戈博客在上个月 28 号启用了 WP Super Cache 代码版,几天下来,虽然小问题不断,但是总体感觉非常不错!不管是前台还是后台,速度都有质的提升,着...

3497
来自专栏iOS开发攻城狮的集散地

Run loop

25010
来自专栏陈满iOS

iOS下载报错:App Transport Security has blocked a cleartext HTTP

以上方法虽然解决了HTTP不能正常使用的问题,但是苹果提供的安全保障也被关闭了,对于不支持HTTPS协议的网站,可以考虑白名单:

3274
来自专栏祥子的故事

python | os包常用命令介绍

3645
来自专栏用户2442861的专栏

redis 学习指南

http://www.cnblogs.com/hoojo/p/4466024.html

1671

扫码关注云+社区