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 // 编译错误

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

查看所有标签

猜你喜欢:

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

JSP 应用开发详解(第二版)

JSP 应用开发详解(第二版)

飞思科技产品研发中心 / 电子工业出版社 / 2004-1-1 / 55.00

本书结合JSP和Servlet的最新规范,从基本的语法和规范入手,以经验为后盾,以实用为目标,以实例为导向,以实践为指导,深入浅出地讲解了JSP 开发中的种种问题。以精简的内容介绍了JSP的语法、Servlet技术、JDBC技术、标签库技术、表达式语言、Struts、JavaServer Face等技术;对于JSP开发中常遇到的典型的难点,专门设置了专题进行集中讨论。本书的最后一篇围绕一个电子商务......一起来看看 《JSP 应用开发详解(第二版)》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具