golang基础(1)

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

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

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

查看所有标签

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

无懈可击的Web设计

无懈可击的Web设计

【美】Dan Cederholm / 马跃 / 清华大学出版社 / 2012-5 / 39.00元

本书将指导您采用标准设计策略来满足以各种方式浏览网页的各类用户的需要。每章首先列举一个沿用传统HTML技术的实例,然后指出该实例的局限性,并利用XHTML和CSS对其进行重构。从中您将学会如何用简洁高效的HTML标记和CSS来取代臃肿的代码,从而创建加载速度极快、能供所有用户使用的网站。本书最后将前面各章讨论的所有页面组件珠联璧合地结合在一起,制作了一个页面模板。这一版全面润色和更新了上一版本,介......一起来看看 《无懈可击的Web设计》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

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

UNIX 时间戳转换