Go是一種新的語言,一種並發的、帶垃圾回收的、快速編譯的語言。它可以在一台電腦上用幾秒鐘的時間編譯一個大型的Go程式。 Go為軟體構造提供了一個模型,它使依賴分析更加容易,並且避免了大部分C風格include文件與庫的開頭。 Go是靜態型別的語言,它的型別系統沒有層級。因此使用者不需要在定義類型之間的關係上花費時間,這樣感覺起來比典型的物件導向語言更輕量級。 Go完全是垃圾回收型的語言,並為並發執行與通訊提供了基本的支援。依照其設計,Go打算為多核心機器上系統軟體的構造提供一個方法。
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程序吧!
第一个Go程序
Go的语法接近C语言,但对于变量的声明有所不同。Go支持垃圾回收功能。Go的并行模型是以东尼·霍尔的通信顺序进程(CSP)为基础,采取类似模型的其他语言包括Occam和Limbo,但它也具有Pi运算的特征,比如通道传输。在1.8版本中开放插件(Plugin)的支持,这意味着现在能从Go中动态加载部分函数。
与C++相比,Go并不包括如枚举、异常处理、继承、泛型、断言、虚函数等功能,但增加了 切片(Slice) 型、并发、管道、垃圾回收、接口(Interface)等特性的语言级支持。Go 2.0版本将支持泛型,对于断言的存在,则持负面态度,同时也为自己不提供类型继承来辩护。
不同于Java,Go内嵌了关联数组(也称为哈希表(Hashes)或字典(Dictionaries)),就像字符串类型一样。
提示:我们的Go教程将帮助您学习从初级到高级的Go知识。如果你有任何疑问,请前往PHP中文网Go社区提出你的问题,会有热心网友为你解答。
Go撰写风格
在Go中有几项规定,而且这些是强制的,当不匹配以下规定时编译将会产生错误。
每行程序结束后不需要撰写分号(;)。
大括号({)不能够换行放置。
if判断式和for循环不需要以小括号包覆起来。
Go亦有内置gofmt工具,能够自动整理代码多余的空白、变量名称对齐、并将对齐空格转换成Tab。
Go语言特色
简洁、快速、安全
并行、有趣、开源
内存管理、数组安全、编译迅速
Go 语言用途
Go 语言被设计成一门应用于搭载 Web 服务器,存储集群或类似用途的巨型中央服务器的系统编程语言。
对于高性能分布式系统领域而言,Go 语言无疑比大多数其它语言有着更高的开发效率。它提供了海量并行的支持,这对于游戏服务端的开发而言是再好不过了。
本Go 教程手册涵盖的内容
本Go 教程涵盖所有Go 基础和高级知识,包含了Go语言结构、Go 基本语法、Go 数据类型、Go 函数、Go 运算符、Go 数组、Go 错误处理、Go 数据转换以及Go 语言开发工具等等知识介绍。
提示:本教程的每一章都包含了很多Go 实例,您可以直接点击 "运行实例" 按钮在线查看结果。这些例子将帮助您更好地理解和使用Go 语言。
最新章節
- Go 语言开发工具 2016-10-18
- Go 错误处理 2016-10-18
- Go 语言接口 2016-10-18
- Go 语言类型转换 2016-10-18
- Go 语言递归函数 2016-10-18
- Go 语言Map(集合) 2016-10-18
- Go 语言范围(Range) 2016-10-18
- Go 语言切片(Slice) 2016-10-18
相關課程
- 最新ThinkPHP 5.1全球首發影片教學(60天成就PHP大牛線上訓練課程) 2022-02-17
- 簡單聊聊PHP創業那點事 2023-01-04
- 大型實戰天龍八部之開發Mini版MVC架構仿糗事百科網站 2018-01-25
- 登入驗證與經典留言板 2018-03-02
- PHP實戰開發極速入門: PHP快速創建[小型商業論壇] 2022-06-28
- 快速入門Node.JS全套完整版 2022-09-30
- 自己動手寫 PHP MVC 框架(40節精講/鉅細/新人進階必看) 2022-12-08
- 馬士兵spring影片教學 2022-04-12