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 条评论
登录 后参与评论

相关文章

来自专栏落花落雨不落叶

canvas画简单电路图

62111
来自专栏张善友的专栏

Miguel de Icaza 细说 Mix 07大会上的Silverlight和DLR

Mono之父Miguel de Icaza 详细报道微软Mix 07大会上的Silverlight和DLR ,上面还谈到了Mono and Silverligh...

2717
来自专栏杨龙飞前端

scrollto 到指定位置

2514
来自专栏一个会写诗的程序员的博客

Spring Reactor 项目核心库Reactor Core

Non-Blocking Reactive Streams Foundation for the JVM both implementing a Reactiv...

2182
来自专栏C#

DotNet加密方式解析--非对称加密

    新年新气象,也希望新年可以挣大钱。不管今年年底会不会跟去年一样,满怀抱负却又壮志未酬。(不过没事,我已为各位卜上一卦,卦象显示各位都能挣钱...)...

4918
来自专栏我和未来有约会

Kit 3D 更新

Kit3D is a 3D graphics engine written for Microsoft Silverlight. Kit3D was inita...

2546
来自专栏张善友的专栏

Silverlight + Model-View-ViewModel (MVVM)

     早在2005年,John Gossman写了一篇关于Model-View-ViewModel模式的博文,这种模式被他所在的微软的项目组用来创建Expr...

2978
来自专栏张善友的专栏

Mix 10 上的asp.net mvc 2的相关Session

Beyond File | New Company: From Cheesy Sample to Social Platform Scott Hansel...

2577
来自专栏跟着阿笨一起玩NET

c#实现打印功能

2782
来自专栏我和未来有约会

Silverlight第三方控件专题

这里我收集整理了目前网上silverlight第三方控件的专题,若果有所遗漏请告知我一下。 名称 简介 截图 telerik 商 RadC...

4035

扫码关注云+社区