Google 的编程语言 Go

Google 的编程语言 Go

BSD
Google Go 查看源码»
跨平台
Google
2009-11-11
绿悠悠

Go是Google开发的一种编译型,並發型,并具有垃圾回收功能的编程语言。

Go语言是基于Inferno操作系统所开发的。Go语言于2009年11月正式宣布推出,成为开放源代码项目,并在Linux及Mac OS X平台上进行了实现,后追加Windows系统下的实现。

Go语言的语法接近C语言,但是对于变量的声明是不同的,其他语法不同之处是For循环和if判断式没有括号围绕。Go语言支持垃圾回收功能。Go语言的并行模型是以东尼·霍尔的CSP为基础,采取类似模型的其他语言包括occam和Limbo,但它也具有Pi运算的特征,比如通道传输。

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

简单的Hello World程序:

package main
import "fmt"
func main() {
  fmt.Printf("Hello, 世界\n")
}
的码云指数为
超过 的项目
加载中

评论(57)

红薯
红薯
#Go# 开发一般用什么工具?
h
huzhibin
goland
dosshell
dosshell
本来很好的C风格语法延续下来类似于Java/JavaScript作些扩充和调整不就完了,#Go##Rust#非得弄得面目全非增加学习难度,真是作死!#Swift#在语法的易学习程度上吊打它们 ,既能解释又能编译执行的特性也非常适合快速开发,现在开源了,苹果那套专有的UI框架不需要学,单做系统级开发应该很不错!
一枚假程序猿
一枚假程序猿
package main import "fmt" func main() { fmt.Printf("中毒了") }
miracle男爵
miracle男爵
colo_zhu
colo_zhu
Da道之简
Da道之简
支持异常处理吧?!

Go 1.13 发布

Go 1.13 发布了,该版本值得关注的改进包括: go 命令可直接下载和认证模块,详情请看 using the Go module mirror and Go checksum database by default 数字文法的改进 错误封装改进 默认启...

09/04 10:06

Go 1.12.9 发布,小版本更新

Go 昨天发布了一个小版本更新 1.12.9,此版本的更新内容主要包括对链接器、os 以及 math/big 包的修复。 具体如下: cmd/link: stack depth check too shallow [1.12 backport] os.RemoveAll...

08/17 07:35

Go2:实验,简化,出货!

介绍 我们都正在一起走向Go 2的路上,但没人知道确切位置和道路。这篇文章讨论了我们如何实际找到并遵循Go2的道路。下面是这个过程的样子。 我们现在尝试使用Go,以便更好地理解它,学习哪些...

08/08 14:03

Go 语言为什么需要泛型?

Go:为何带来泛型 介绍 [这是在Gophercon 2019上发表的演讲版本。视频链接可供使用。] 这篇文章是关于向Go添加泛型的意义,以及为什么我认为我们应该这样做。我还将介绍为Go添加泛型的设计可...

08/01 09:09

Go 语言团队否决关于"try"语句的提案

Go 语言作者之一 Robert Griesemer 前几天代表 Go 语言开发团队的提案审查委员会公布了关于否决一项提案的决定。Robert 在「内置的 Go 错误检查函数,"try"」提案下面的回复中发布了这个公告...

07/20 08:01

Golang 到底姓什么?开发者想移除谷歌 logo

前阵子有个 Golang 相关的话题引起了许多人的讨论,那就是“Go 是谷歌的语言,而不是社区的”,该观点认为谷歌作为整个 Go 社区的掌门人,它独自决定了什么东西可以被 Go 语言接受,什么不能...

07/13 08:42

迈向 Go 2 的下一步

Go 2 又有进展了,近日 Go 团队在博客公布了关于 Go 2 下一步的计划。根据此前的报道,所谓的 Go 2 并非一个单独的重大更新版本,而是通过“增量(incremental)更新”的方式以逐渐抵达 "Go 2....

06/28 08:08

2019 开发者调查报告:Java 最流行,Go 最有前途

知名软件开发公司 JetBrains 近日发布了名为「2019 开发人员生态系统现状」的调查报告。 为更好地了解开发者,JetBrains 于年初发起了 2019 年开发人员生态系统调查,调查了约 7000 名开发者...

06/19 07:38

坑爹代码 | Go 语言的 defer 能制造出多少坑来?

Go 语言的 defer 语句是一个非常有用的特性,可以将一个方法延迟到包裹该方法的方法返回时执行,在实际应用中,defer 语句可以充当其他语言中try…catch…的角色,也可以用来处理关闭文件句柄...

06/13 08:07

Go 语言 2018 调查报告发布

Go 官方博客今天公布了 2018 年 Go 语言调查报告。参与本次调查的 5883 名受访者来自 103 个不同的国家,官方表示,这些受访者的反馈意见将被选取用于改进 Go 语言的发展。 知道大家都很忙,...

03/30 08:19

没有更多内容

加载失败,请刷新页面

1
回答
go如何处理用户上传的视频,生成缩略图?或者前端生成,微信内置浏览器兼容
Go
mickelfeng 的回答 08/22 16:54
最佳答案
1、ffmpeg 用cgo搞一下即可 或 2、在golang里执行ffmpeg
11
回答
冲上云原生,Dubbo 发布 Go 版本

5 月 21 日,经过一年多的孵化,Apache Dubbo 从 Apache 软件基金会毕业,成为 Apache 顶级项目。 Dubbo 是阿里于 20...

06/02 22:36
4
回答
Go 使用 get download 一直卡主

就这样一直卡着不动了,怎么回事呀?望大佬指点迷津呀

Go
08/06 22:53
2
回答
Go写业务过程中遇到的实现问题

在写业务的过程中,因为要做的就是按照预定义好的接口实现内容。然后实现方式一是原来代码中给的例子,但是我想: 少写点内容; 因为请求数据就这个函数会用到,所...

Go
07/19 06:50
2
回答
go 的数据类型使用,切片,MAP混合,为啥红框里的不对呢?
Go
mickelfeng 的回答 07/11 18:19
最佳答案
data["task_no"]="aaaaaaaaaaaaaa" data["driver_info"]=[]map[string]string{} data["driver_info"]=append(data["driver_info"].([]map[string]string),map...
3
回答
golang 精确计算怎么做

mysql 数据库中有一个decimal类型 , 类似的 java 中有BigDecimal可以用来精确计算 , 那么golang中应该用什么来计算?

Go
2017/11/17 11:19
3
回答
golang 的mongodb驱动mgo如何执行原生的mongodb语句,类似直接执行sql语句那样子?

golang 的mongodb驱动mgo如何执行原生的mongodb语句,类似直接执行sql语句那样子? 知道的能给个例子最好了,谢谢

2013/07/23 14:47
2
回答
golang支持的,可加密的文件数据库

如题。可以加密的如sqlite的文件数据库。 最好是go语言有驱动的。 背景:要用go来做一款软件,需要用到数据库,sqlite没有加密功能。

06/23 13:40
3
回答
北京地区怎么接个私活?

php的或者go或者java 最近手痒 感觉众包的不太靠谱也抢不过其他人 大厂三年后端经验

04/04 21:27
6
回答
C#支持跨平台,在游戏领域也异军突起,Go语言也流行起来,人工智能才是未来,都对java是很大的冲击?
前端大师傅 的回答 05/05 11:06
最佳答案
也不尽然,楼主及列位要注意的一点,任何一门语言都是和其硬件的存在相关的。软件最终还是要作用于硬件,而java或者说java ee是基于硬件服务器的。 Java之所以火爆完全是因为其跨平台的特性。大家很多都是做开发的同学,都知道Java的服务器除了x86这种微型机之外,还可以运行在mips、ar...

没有更多内容

加载失败,请刷新页面

翻转参数UIImageOrientation

typedef enum { UIImageOrientationUp, // default orientation 默认方向 UIImageOrientationDown, // 180 deg rotation 旋转180度 UIImageOrientationLeft, // 90 deg CCW 逆时针旋转90度 ...

2013/05/23 16:40
173
0
一些学习ios开发有用的网址

1,CocoaChina:http://www.cocoachina.com/ 2,Code4App:http://code4app.com/ 3,梦维:http://www.dreamingwish.com/ 4,open开源文档:http://www.open-open.com/doc/ 5,懒人ios:htt...

2013/05/27 17:17
789
0
关于sandbox文件管理

默认情况下,每个沙盒含有3个文件夹:Documents, Library 和 tmp。因为应用的沙盒机制,应用只能在几个目录下读写文件 Documents:苹果建议将程序中建立的或在程序中浏览到的文件数据保存在该...

2013/05/29 10:50
21
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部