内容简介:在安装之间,我们先了解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,安装与资源》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Kafka读书笔记 -- 安装与配置
- Kafka读书笔记 -- 集群安装与配置
- Kafka读书笔记 -- 单节点安装与配置
- Docker笔记(三):Docker安装与配置
- ES系列之Elasticsearch-2.3安装笔记
- Kafka读书笔记 -- 集群安装与配置(Ubuntu)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Web 2.0 Architectures
Duane Nickull、Dion Hinchcliffe、James Governor / O'Reilly / 2009 / USD 34.99
The "Web 2.0" phenomena has become more pervasive than ever before. It is impacting the very fabric of our society and presents opportunities for those with knowledge. The individuals who understand t......一起来看看 《Web 2.0 Architectures》 这本书的介绍吧!
HTML 编码/解码
HTML 编码/解码
Base64 编码/解码
Base64 编码/解码