go语言之行--简介与环境搭建

一、Go简介

Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。

Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。

Go 语言最主要的特性:

  • 自动垃圾回收
  • 更丰富的内置类型
  • 函数多返回值
  • 错误处理
  • 匿名函数和闭包
  • 类型和接口
  • 并发编程
  • 反射
  • 语言交互性
  • 易于部署

再说说我学习go的原因:

1.性能优越:这是个总所周知的特点,天生具备高并发性。

2.部署方便:一开始我只是想尝尝鲜,然后写了一点点代码,然后发现编译非常简单,同时部署时候就是二进制包(linux)或exe文件(windows),这对于做运维的人来说太方便了。

3.最近在学习kuberneters,其实现也是go语言,所以让我下定了学习go的决心。

二、GO与Python

作为python程序员,我对python当然也在熟悉不过了,总所周知由于GIL所问题导致速度较慢,当然go弥补了这个缺点,由于初学go还不了解,只能从他人之言了解到go与python对比:

https://studygolang.com/articles/3102

http://developer.51cto.com/art/201710/555200.htm

三、开发环境搭建

1.下载包:

安装包下载地址为:https://golang.org/dl/

如果打不开可以使用这个地址:https://golang.google.cn/dl/

各个系统对应的包名:

操作系统 包名
Windows go1.10.windows-amd64.msi
Linux go1.10.linux-amd64.tar.gz
Mac go1.10.darwin-amd64-osx10.8.pkg
FreeBSD go1.10.freebsd-amd64.tar.gz

2.安装

windows

将下载好的包运行,一直点击下一步就行了,安装完成后打开cmd 输入go version如果返回正确的版本代表安装成功。

仅仅安装好msi是不够的,还需要配置一些东西:GOPATH

Go从1.1版本到1.7必须设置这个变量,而且不能和Go的安装目录一样。

这个目录用来存放Go源码,Go的可运行文件,以及相应的编译之后的包文件。

所以这个目录下面有三个子目录:src、bin、pkg

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

如果你的是Unix(mac/linux)环境需要:

export GOPATH=/opt/src/go

Windows则需要新建一个环境变量名称叫做GOPATH,当然,go 的msi安装包安装完成后,己默认设置了GOPATH,我们只需要右击【此电脑】-【属性】-【高级系统设置】-【高级】-【环境变量】设置编辑就可以了

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

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

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

UNIX/Linux/Mac OS X, 和 FreeBSD 安装

以下介绍了在UNIX/Linux/Mac OS X, 和 FreeBSD系统下使用源码安装方法:

1、下载源码包:go1.4.linux-amd64.tar.gz。

2、将下载的源码包解压至 /usr/local目录。

tar -C /usr/local -xzf go1.103.linux-amd64.tar.gz

3、将 /usr/local/go/bin 目录添加至PATH环境变量:

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

ps:max下如果你安装了brew,你还可以通过brew进行安装

brew install go

或者

brew install golang
四、开始hello world

在你的上文的GOPATH下新建一个文件src/hello/hello.go,内容如下:

package main

import "fmt"

func main() {
    fmt.Println("Hello, World!")
}

切入到cmd使用go run 运行该文件

你也可以编译成可执行文件执行:

cmd下进入到文件所在目录,我的目录是C:\Users\17647\Desktop\go_work\src\hello,运行go bulid:

此时会你会发现目录多了.exe文件直接运行就可以了

原文地址:https://www.cnblogs.com/wdliu/p/9165015.html

时间: 2024-10-13 10:59:52

go语言之行--简介与环境搭建的相关文章

【读书笔记-《Android游戏编程之从零开始》】1.Android 平台简介与环境搭建

简单的记录下笔记,具体可百度! Android SDK (Software Development Kit)- Android 软件开发工具包,用于辅助Android 操作系统软件开发,是开发Android 软件.文档.范例.工具的一个集合.Android NDK (Native Development Kit) - 类似 Android SDK,可用C/C++语言编写Android程序. developer.android.com - 可查阅到 Android SDK. 开发指南.API说明等

Golang (Go语言) Mac OS X下环境搭建 环境变量配置 开发工具配置 Sublime Text 2 【转】

一.安装Golang的SDK 在官网 http://golang.org/ 直接下载安装包安装即可.下载pkg格式的最新安装包,直接双击运行,一路按照提示操作即可完成安装. 安装完成后,打开终端,输入go,检测Golang SDK是否安装成功,如下显示,则表示安装成功: 你也可以输入go version 查看你所安装的Golang的版本 二.环境变量配置(GOPATH) GOPATH是用来告诉Golang命令和其他相关工具,在哪里可以找到你系统上的Go包目录. GOPATH是一个路径列表,类似于

我的全栈之路-C语言基础之集成开发环境搭建

我的全栈之路-C语言基础之集成开发环境搭建 我的全栈之路 2.1 C语言集成开发环境搭建 目前主流的操作系统(Windows,Linux,macOS)都有完善的C语言集成开发环境,用于编辑.编译.调试.打包部署C程序. 操作系统 开发工具 Windows10 1903 Visual Studio2019 macOS10.14 XCode10.3 Ubuntu18.04 QT5.13 Windows作为世界上最流行的桌面操作系统,当前最新版本为Windows10 1903,VisualStudio

Golang/Go语言/Go IDE/Go windows环境搭建/Go自动提示编译器/GoSublime

Go是Google开发的一种编译型,并发型,并具有垃圾回收功能的编程语言. 罗伯特·格瑞史莫(Robert Griesemer),罗勃·派克(Rob Pike)及肯·汤普逊于2007年9月开始设计Go语言,Go语言是基于Inferno操作系统所开发的.Go语言于2009年11月正式宣布推出,并在Linux及Mac OS X平台上进行了实现. GO语言吉祥物,很可爱吧. Go语言的hello world!代码: [java] view plaincopyprint? package main im

Java简介以及环境搭建

Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言.Java 技术具有卓越的通用性.高效性.平台移植性和安全性,广泛应用于PC.数据中心.游戏控制台.科学超级计算机.移动电话和互联网,同时拥有全球最大的开发者专业社群. Java作为一门优秀开发语言,主要优点如下:跨平台,一次编译 ,到处运行: (理论上是这么说的,实际情况不一定)编译型语言,语法严格,扩展性强,面向对象: 开源项目无数,找解决方案容易:再上一个 创始人头像:名字是 詹姆斯?高斯林Java运行环境搭建之Jdk配置现在我们

微服务监控和报警(二)-Prometheus简介及环境搭建

1.Prometheus简介 Prometheus是具有活跃生态系统的开源系统监视和警报工具包.下图是Prometheus的体系结构及其某些生态系统组件.最核心的位置就是Prometheus server,主要的作用就是根据我们的配置去用于收集和存储时间序列数据.Service discovery服务的发现,通过Service discovery,Prometheus server就会知道去哪里采集数据,有两种方式,一种是静态的,通过文件去配:另外一种是动态的,可以通过zookeeper或者其他

Spring1:Spring简介、环境搭建及源码下载

框架学习前言 这个模块是对于Java框架的学习,主要就是Spring.Hibernate.Ibatis,框架的学习我是这么想的: 1.简单介绍框架,主要是从网上借鉴一些重点 2.尽量说明清楚框架的使用方法以及细节点 3.尽量以自己的理解讲清楚Spring中的一些源代码 Spring是什么 Spring是一款为了解决企业应用开发的复杂性而创建的轻量级Java框架.框架的主要优势之一就是其分层架构,分层架构允许使用者选择哪一个组件,同时为J2EE应用程序开发提供集成的框架.从简单性.可测试性和松耦合

1.SpringMVC的简介和环境搭建

SpringMVC的简介: SpringMVC 和 Struts一样是一个MVC框架,和Spring无缝连接,和struts2类似, Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面. Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块. 使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的SpringMVC框架或集成其他MVC开发框架,如Struts1,St

Spring1:Spring简介、环境搭建、源码下载及导入MyEclipse

框架学习前言 这个模块是面向Spring的,Spring的学习我是这么想的: 1.简单介绍Spring,主要是从网上借鉴一些重点 2.尽量说明清楚Spring的使用方法以及细节点 3.尽量以自己的理解讲清楚Spring中的一些源代码 Spring是什么 Spring是一款为了解决企业应用开发的复杂性而创建的轻量级Java框架.框 架的主要优势之一就是其分层架构,分层架构允许使用者选择哪一个组件,同时为J2EE应用程序开发提供集成的框架.从简单性.可测试性和松耦合的角度而 言,任何Java应用都可