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
网友评论