Ruby程序员的Golang之旅03

peter_ji · · 726 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

Golang声明变量 VS Ruby声明变量

所有编程语言里面,我敢相信没有一门能比在Ruby里面声明一个变量来的更加快活了,以至于我再刚开始使用Golang的时候,被各种类型限制搞得十分头疼

foo = 1
=> 1
foo.class
=> Fixnum 

foo = 1.0
=> 1.0
foo.class
=> Float

foo = 1111111111111111111111111111111
=> 1111111111111111111111111111111
foo.class
=> Bignum

foo = "bar"
=> "bar"
foo.class
=> String

a,b,c = 1,'2',3
=> [1, "2", 3] 

...

不需要var 关键字,也不需要知道类型,就如你看到的,我已经告诉这个变量,我需要一个1.0,我不需要再额外跟他说我要的是浮点数了,而且1.0在ruby里面也是一个对象,是一个浮点类型的对象,真正的面向对象的编程语言!

然而到了Go里面,可能就得麻烦一些了
声明变量的一般形式是使用 var 关键字:
var identifier type

var foo int

不过Go也是可以根据变量自行判断类型的

var foo = 10

而且其实var关键字也是可以省略的,这种情况下你需要在=号左边加上:,但是:号左边变量不能是声明过的,否则会导致编译失败

foo := 10

多个变量同时声明

var a,b,c int
a,b,c = 1,2,3

//或者可以省略类型,会自动判断
var a,b,c = 1,2,3
//var也可以省略,同样是用:
a,b,c := 1,2,3

有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:peter_ji

查看原文:Ruby程序员的Golang之旅03

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

726 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传