从Java到Golang快速入门

Golang从09年发布,中间经历了多个版本的演进,已经渐渐趋于成熟,并且出现了很多优秀的开源项目,比如我们熟知的docker,etcd,kubernetes等,其媲美于C的性能、Python的开发效率,又被称为21世纪的C语言,尤其适合开发后台服务。这篇文章主要是介绍Golang的一些主要特性,和Java做一个对比,以便更好的理解Golang这门语言。

关于Golang环境的搭建就不讲了,可以参考官方文档或者Google一下,配置下SDK和PATH即可,非常简单,我们就从Go版本的Hello World开始

Hello World

每种语言都有自己的Hello World,Go也不例外,Go版本的如下:

package main

import "fmt"

func main() {
    fmt.Println("Hello, 世界")
}

我们使用go run运行后,会在控制台终端看到Hello, 世界的输出。我们来看下这段代码:

  1. package 是一个关键字,定义一个包,和Java里的package一样,也是模块化的关键。
  2. main包是一个特殊的包名,它表示当前是一个可执行程序,而不是一个库。
  3. import 也是一个关键字,表示要引入的包,和Java的import关键字一样,引入后才可以使用它。
  4. fmt是一个包名,这里表示要引入fmt这个包,这样我们就可以使用它的函数了。
  5. main函数是主函数,表示程序执行的入口,Java也有同名函数,但是多了一个String[]类型的参数。
  6. Println是fmt包里的函数,和Java里的system.out.println作用类似,这里输出一段文字。

整段代码非常简洁,关键字、函数、包等和Java非常相似,不过注意,go是不需要以;(分号)结尾的。

变量

go语言变量的声明和java的略有不同,以声明一个int类型,变量名为age为例,go语言变量生成如下:

var age int =10

同样的变量,在java中的声明是:

int age = 10;

可以看到go的变量声明,修饰变量的类型在变量的后面,而且是以var关键字开头。

var 变量名 类型 = 表达式

最后面的赋值可以在声明的时候忽略,这样变量就有一个默认的值,称之为零值零值是一个统称,以类型而定,比如int类型的零值为0,string类型的零值是”“空字符串。

在go中除了以var声明变量之外,还有一种简短的变量声明方式:=,比如上面例子,可以如下简单声明:

age := 10

这种方式和上面的例子等价,但是少了var和变量类型,所以简短方便,用的多。使用这种方式,变量的类型由go根据值推导出来,比如这里默认是int。

常量

有了变量,就少不了常量,和var关键字不一样,go的常量使用const声明,这个和C里的常量一样。

const age = 10

这样就声明了一个常量age,其值是10,因为我们这里没有指定常量的类型,所以常量的类型是根据值推导出来的。所以等价的我们也可以指定常量类型,如下:

  • 5
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值