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

相关文章

来自专栏大数据架构

SQL优化(六) MVCC PostgreSQL实现事务和多版本并发控制的精华

1685
来自专栏Java技术交流群809340374

MySQL有哪些存储引擎,各自的优缺点,应用场景

经常面试都会问到MYSQL有哪些存储引擎,以及各自的优缺点。今天主要分享常见的存储引擎:MyISAM、InnoDB、MERGE、MEMORY(HEAP)、BDB...

1003
来自专栏散尽浮华

php安全配置记录和常见错误梳理

通常部署完php环境后会进行一些安全设置,除了熟悉各种php漏洞外,还可以通过配置php.ini来加固PHP的运行环境,PHP官方也曾经多次修改php.ini的...

3297
来自专栏七夜安全博客

Sublime Text3 插件编写教程_第一课

942
来自专栏岑玉海

使用Ant编译Hadoop工程报错

  在win7用Ant编译hadoop工程的时候,遇到了一个报错,如下:   org.eclipse.core.runtime.CoreException: D...

3404
来自专栏余林丰

关于日志打印的几点建议以及非最佳实践

  日志的打印在软件开发过程中必不可少,一般分为两个大类: 操作日志 系统日志   操作日志,主要针对的是用户,例如在Photoshop软件中会记录自己操作的步...

2467
来自专栏云计算教程系列

如何在Ubuntu 14.04上安装和使用BaasBox

BaasBox是一个充当数据库服务器和应用程序服务器的应用程序。开箱即用,BaasBox通过备份提供用户注册,用户管理,角色管理,内容管理,文件管理和数据库管理...

560
来自专栏L宝宝聊IT

SQL Server数据库介绍

1665
来自专栏晨星先生的自留地

日志攻防初探之windows篇(iis日志介绍)

1736
来自专栏西安-晁州

添加swagger api文档到node服务

swagger,一款api测试工具,详细介绍参考官网:http://swagger.io/ ,这里主要记录下怎么将swagger api应用到我们的node服务...

2010

扫码关注云+社区