golang基础(1)

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

内容简介: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 // 编译错误

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

查看所有标签

猜你喜欢:

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

Python Machine Learning

Python Machine Learning

Sebastian Raschka / Packt Publishing - ebooks Account / 2015-9 / USD 44.99

About This Book Leverage Python' s most powerful open-source libraries for deep learning, data wrangling, and data visualization Learn effective strategies and best practices to improve and opti......一起来看看 《Python Machine Learning》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具