GOlang学习笔记(踩坑记)1,安装与资源

栏目: Go · 发布时间: 5年前

内容简介:在安装之间,我们先了解GolangGo语言是谷歌2009发布的第二款开源编程语言。Go语言专门针对Go语言是Google开发的一种 静态强类型、编译型,并发型,并具有垃圾回收功能的编程语言。为了方便搜索和识别,有时会将其称为Golang。

在安装之间,我们先了解Golang

Go语言是谷歌2009发布的第二款开源编程语言。Go语言专门针对 多处理器系统 应用程序的编程进行了优化,使用 Go 编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。

Go语言是Google开发的一种 静态强类型、编译型,并发型,并具有垃圾回收功能的编程语言。为了方便搜索和识别,有时会将其称为Golang。

罗伯特·格瑞史莫,罗勃·派克(Rob Pike)及肯·汤普逊于2007年9月开始设计Go语言,稍后Ian LanceTaylor、RussCox加入项目。Go语言是基于Inferno操作系统所开发的。Go语言于2009年11月正式宣布推出,成为开放源代码项目,并在 Linux 及MacOS X平台上进行了实现,后来追加了Windows系统下的实现。在2012年早些时候发布了Go 1稳定版本。

现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。

Go语言的语法接近C语言,但对于变量的声明有所不同。Go语言支持垃圾回收功能。Go语言的并行模型是以东尼·霍尔的通信顺序进程(CSP)为基础,采取类似模型的其他语言包括Occam和Limbo,但它也具有Pi运算的特征,比如通道传输。在1.8版本中开放插件(Plugin)的支持,这意味着现在能从Go语言中动态加载部分函数。

与C++相比,Go语言并不包括如异常处理、继承、泛型、断言、虚函数等功能,但增加了 Slice型、并发、管道、垃圾回收、接口(Interface)等特性的语言级支持。Google目前仍正在讨论是否应该支持泛型,其态度还是很开放的,但在该语言的常见问题列表中,对于断言的存在,则持负面态度,同时也为自己不提供类型继承来辩护。    不同于Java,Go语言内嵌了关联数组(也称为哈希表(Hashes)或字典(Dictionaries)),就像字符串类型一样。

语言特性

1. 垃圾回收

内存自动回收,再也不需要开发人员管理内存

只需要new分配内存,不需要释放

2. 天然并发

从语言层面支持并发,非常简单

Goroutine,轻量级线程,创建成千上万个Goroutine成为可能

基于CSP(Communicating Sequential Process)模型实现

3. channel

管道,类似unix/linux中的pipe

多个Goroutine之间通过channel进行通信

支持任何类型

close 内置函数用来关闭 channel

4. Goroutine

Go语言的主要的功能在于令人简易使用的并行设计,这个方法叫做Goroutine,通过Goroutine能够让你的程序以异步的方式运行,而不需要担心一个函数导致程序中断,因此Go语言也非常地适合网络服务。

Goroutine是类似线程的概念(但Goroutine并不是线程)。线程属于系统层面,通常来说创建一个新的线程会消耗较多的资源且管理不易。而

Goroutine就像轻量级的线程,但我们称其为并发,一个Go程序可以运行超过数万个

Goroutine,并且这些性能都是原生级的,随时都能够关闭、结束。一个核心里面可以有多个Goroutine,通过GOMAXPROCS参数你能够限制Gorotuine可以占用几个系统线程来避免失控。 在内置的官方包中也不时能够看见Goroutine的应用,像是net/http中用来监听网络服务的函数实际上是创建一个不断运行循环的Goroutine。

编译器

当前有两个Go语言的编译器的分支。官方编译器gc和gccgo。官方编译器在初期使用C写成,后用go重写从而实现自举。Gccgo是一个使用标准GCC作为后端的Go编译器。    官方编译器支持跨平台编译(但不支持CGO),允许将源码编译为可在目标系统、架构上执行的二进制文件。

First:安装 golang in mac.

https://golang.google.cn,

go to the web and download golang and install it.

Second:configurate the env for go.

重新打开terminal :输入语句go env 查看golang 的环境情况。

goroot go语言的编译文件 gopath go项目的库依赖

Third:Install GO IDE :GOLand jetbrain

安装go语言的开发工具

Four:打开goland下载学习代码 https://github.com/studygolang/studygolang

1)git clone https://github.com/studygolang/studygolang

2) 下载 gvt 依赖管理工具, go get github.com

下载后将 gvt 加入 PATH 中。

/Users/test/go/bin 文件夹

export PATH=$PATH:/Users/test/go/bin

cmd下执行gvt可以检验是否添加path 成功。

start.sh之间检查 bin文件夹是否生成OK.

下载安装依赖

cd 到 studygolang 源码目录

安装运行,学习


以上所述就是小编给大家介绍的《GOlang学习笔记(踩坑记)1,安装与资源》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

从“为什么”开始

从“为什么”开始

[美] 西蒙·斯涅克 / 苏西 / 海天出版社 / 2011-7 / 32.00元

影响人类的行为:要么靠操纵,要么靠感召。 操纵带来的是交易,是短期效益; 感召带来的是信任,是永续经营! 盖茨走后,微软面临怎样的挑战?后盖茨时代,微软为何从一个希望改变世界的公司沦落为一个做软件的公司? 沃尔玛的灵魂人物过世后,一度被人们热爱的公司,遭到的竟然多是顾客、员工的反感?沃尔玛要怎样做才能重放昔日光彩? 星巴克吸引人们购买的不是咖啡,而是理念?为什么说霍华......一起来看看 《从“为什么”开始》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

URL 编码/解码
URL 编码/解码

URL 编码/解码

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具