GoLang启航

简介: GoLang启航

golang又称go语言是一种静态强类型、编译型语言,是一个开源编程环境,可以轻松构建简单、可靠和高效的软件。Go 语言语法与 C 相近,但功能上有:内存安全,GC,结构形态及 CSP-style 并发计算。

一、 概述

Go语言(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。


罗伯特·格瑞史莫(Robert Griesemer),罗勃·派克(Rob Pike)及肯·汤普逊(Ken Thompson)于2007年9月开始设计Go,稍后Ian Lance Taylor、Russ Cox加入项目。Go是基于Inferno操作系统所开发的。Go于2009年11月正式宣布推出,成为开放源代码项目,并在Linux及Mac OS X平台上进行了实现,后来追加了Windows系统下的实现。在2016年,Go被软件评价公司TIOBE 选为“TIOBE 2016 年最佳语言”。 目前,Go每半年发布一个二级版本(即从a.x升级到a.y)。


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

二、 go语言的作用

Go语言主要用作服务器端开发,其定位是用来开发“大型软件”的,适合于很多程序员一起开发大型软件,并且开发周期长,支持云计算的网络服务。Go语言能够让程序员快速开发,并且在软件不断的增长过程中,它能让程序员更容易地进行维护和修改。它融合了传统编译型语言的高效性和脚本语言的易用性和富于表达性。


Go语言作为服务器编程语言,很适合处理日志、数据打包、虚拟机处理、文件系统、分布式系统、数据库代理等;网络编程方面,Go语言广泛应用于Web应用、API应用、下载应用等;除此之外,Go语言还可用于内存数据库和云平台领域,目前国外很多云平台都是采用Go开发。


Go语言成功案例:


Nsq:Nsq 是由Go语言开发的高性能、高可用消息队列系统,性能非常高,每天能处理数十亿条的消息;


Docker:基于lxc的一个虚拟打包工具,能够实现PAAS平台的组建。


Packer:用来生成不同平台的镜像文件,例如VM、vbox、AWS等,作者是vagrant的作者


Skynet:分布式调度框架


Doozer:分布式同步工具,类似ZooKeeper


Heka:mazila开源的日志处理系统


Cbfs:couchbase开源的分布式文件系统


Tsuru:开源的PAAS平台,和SAE实现的功能一模一样


Groupcache:memcahe作者写的用于Google下载系统的缓存系统


God:类似redis的缓存系统,但是支持分布式和扩展性


Gor:网络流量抓包和重放工具

三、学习资料

Go语言

Go中文网

10本书学习系列

10本 Go 语言入门学习书籍推荐

10本 Go 语言进阶学习书籍推荐

Go 入门指南

目录
相关文章
|
前端开发 JavaScript Go
【golang之路】——govaluate
【golang之路】——govaluate
57969 5
【golang之路】——govaluate
|
15天前
|
IDE Go 开发工具
Golang简史及常见的开发工具介绍
这篇文章介绍了Go语言的适合学习人群、发展历史、优劣势、学习原因、前景以及学习方法,同时概述了几种常用的Go语言开发工具。
28 2
|
3月前
|
Kubernetes Go 云计算
Golang 入门技术文档
**Golang 技术文档摘要:** Golang,由Google开发,是一种静态强类型、编译型语言,广泛应用于云计算、网络编程和分布式系统。本文档介绍了Golang的基础和特性,包括安装配置、 HelloWorld 示例、基本语法,如变量推导、函数多返回值和并发编程(goroutine、channel)。Golang的并发模型基于轻量级goroutine和channel,支持高效并发处理。此外,文档还提及了接口和多态性,展示了如何使用接口实现类型间的交互。Golang在Docker、Kubernetes等项目中得到应用,适用于后端服务开发。【6月更文挑战第9天】
33 1
|
4月前
|
Go
golang学习2,golang开发配置国内镜像
golang学习2,golang开发配置国内镜像
|
4月前
|
Go 区块链 数据库
第一章 Golang开山篇
第一章 Golang开山篇
32 1
|
消息中间件 缓存 JSON
Golang面试前一夜准备:1-5题
Golang面试前一夜准备:1-5题
|
10月前
|
测试技术 编译器 Go
|
10月前
|
供应链 算法 测试技术
Golang 区块链开发指南
Golang 区块链开发指南
|
11月前
|
安全 IDE Linux
【Golang】一文学完 Golang 基本语法
【Golang】一文学完 Golang 基本语法
47 0
|
安全 算法 Java
Golang面试前一夜准备
Golang面试前一夜准备