golang基础(1)

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

内容简介:go 作为一门相对年轻的语言是在 2009 年由 Ken Thompson 和 Robert Griesemer 共同在 Google 孵化出来的。go 在许多方面都是可以看到 c 和 c++ 的影子。Ken Thompson 参与了开发 unix,而且Thompson 也参与 c 语言开发。(下图)
golang基础(1)

golang-gopher.png

go 作为一门相对年轻的语言是在 2009 年由 Ken Thompson 和 Robert Griesemer 共同在 Google 孵化出来的。go 在许多方面都是可以看到 c 和 c++ 的影子。

golang基础(1)

robert_griesemer.jpg

Ken Thompson 参与了开发 unix,而且

Thompson 也参与 c 语言开发。(下图)

golang基础(1)

thompson01.jpg

  • 编译为机器码
  • 垃圾回收
  • 协程(goroutine)
  • 用于线程同步的通道(channels)
  • 静态类型
  • 没有类或类型的继承
  • 通过接口定义关系

go 作为一门高级语言有自己垃圾回收,因此 go 语言不算上是一门可以写出高效的低级语言。所有 golang 并不适合开发操作操作系统和大型游戏。

go 语言在处理线程同步和并发上下了很多功夫,为此设计出来 goroutine 和 channel。这些特点让我们可以看出 golang 是一门服务端的语言。除此外 go 语言还适合写一些脚本。

go 语言作为一门静态语言,不想 pythonruby 有类型转换的负担。在 go 语言中没有面向对象思想也没有类的概念。go 语言依据 interface 的结构为 ad-hoc(点对点)关系。通过接口定义一些方法和类型,避免创建复杂和类型的情况发生。

变量声明

var foo string;
foo = "hello" //ok
foo = 5 // 编译错误

与 JavaScript 语言差不多,通过 var 关键字定义变量。然后 foo 类型定义为 string。作为一门静态语言,必须为变量声明类型。

var foo = "hello" //
foo = 5 // 编译错误

如果声明变量时没有特殊指定类型,go 会根据变量的赋值类型来确定变量 foo 的类型,所以随后再为 foo 赋值为 5,就会报出类型错误。

foo := "hello" // 隐式声明
foo = 5 // 编译错误

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

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

链接

链接

[美] 巴拉巴西 / 徐彬 / 湖南科技出版社 / 2007-04-01 / 28.00

从鸡尾酒会到恐怖分子的巢穴,从远古的细菌到国际组织——所有这一切各自都是一种网络,都是一个令人惊讶的科学革新的一部分。21世纪初,有科学家发现,网络具有深层的秩序,依据简单而强有力的规则运行。这一领域的知识帮助我们了解时尚、病毒等的传播机制,了解生态系统的稳健性,以及经济体系的脆弱性——甚至是民主的未来。 一位致力于研究“链接和节点”的科学家将首次带领我们领略网络革新的内幕。在本书中,作者生......一起来看看 《链接》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

在线进制转换器
在线进制转换器

各进制数互转换器

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换