初探GOLANG

golang与java的一些区别与共性

因为之前学过java,所以不自觉的就与java的特点进行了一些粗浅的比较,学了一段时间golang,便整理一下,方便查询

  1. go使用package来管理文件,java使用class来管理文件
  2. 感觉go与matlab倒是有点类似,函数可以多值返回且类型不必一致,有结构体(struct),go通过struct实现类的特性,将struct与函数进行绑定使该函数成为该struct的方法,通过struct的嵌套来实现类的继承
  3. go有指针的概念而java没有,&可用于取地址,*可用于取出地址中的值
  4. go通过首字母的大小写进行区分变量或者函数的可见性,而java通过可见性关键字(public、private、default、protect)实现可见性的区分
  5. go的变量声明不同于java,go是var varName dataType [ = value],而java是DataType identifier = value;
  6. go同python一样不用使用分号结束语句,而java必须使用分号
  7. go的类型推导(:=)挺方便的
  8. 控制流程语句中,只用for用于循环(这倒是解决了我多年的for与while的困惑),多了goto、select
  9. go的基本数据类型有20种,甚至包括复数(complex),而java只有8种。可惜的是go似乎不支持隐式转换,只能显示转换数据类型
  10. go的struct通过实现目标接口中所有同名方法来达到实现接口的目的
  11. go的类型似乎较少,有slice、map、channel,不同于java的list、set、map这么多大类

以上仅列举了一些简单的不同,还需要从实践中具体分析

我看的一些资料

go语言核心编程,讲基础挺细致的
在这里插入图片描述
go易于实现并发,所以对并发方面的学习还是有必要的
在这里插入图片描述
Golang修养之路
go语言标准库文档

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值