GO语言的一些特色

1. GO 语言并没有沿袭C++和Java的传统去设计一个超级复杂的类型系统,不支持继承和重载,而只是支持了最基本的类型组合功能

2. 在静态语言中 属于 第一个支持 函数多返回值 

3. GO 语言在语言级别支持协程,叫 goroutine

        多数语言在语法层面并不直接支持协程,而通过库的方式支持的协程的功能并不完整,比如仅仅提供协程的创建,销毁和切换

        能力。

4. 针对 “执行体之间的消息传递” (协程属于执行体的一种)。在并发编程模型的选择上,有两个流派,一个是共享内存模型,一个是 

      消息传递模型。多数传统语言选择了前者,少数语言选择后者,其中选择  "消息传递模型" 的最典型代表是 Erlang 语言。业界

      有专门的术语叫 "Erlang风格的并发模型", 其主体思想是两点: 一是 "轻量级的进程(Erlang中 ‘进程’ 这个术语就是 执行体

      的一种)" , 二是 "消息乃进程间通信的唯一方式" 。 当执行体之间需要相互传递消息时, 通常需要基于一个消息队列

     (message queue) 或 进程邮箱(process mail box) 这样的 设施 进行通信。

5. GO 语言推荐 采用 "Erlang风格的并发模型" (参见 上面 的 4) , 尽管传统的 "共享内存模型" 仍然被保留,允许适度地使用。在GO

    语言中内置了消息队列的支持,只不过它叫通道(channel)。 两个 协程 之间可以通过 channel 来进行交互

6. GO 语言引入了无比强大的 "非侵入式" 接口 的概念, 让开发这不需要继承接口,只要实现了接口对应的方法,自然就跟接口

    关联起来了

7. GO语言的反射实现了反射的大部分功能,但没有像Java语言那样内置类型工厂,故而无法做到像Java那样通过类型字符串

      创建对象实例。在Java中,你可以读取配置并根据类型名称创建对应的类型,这是一种常见的编程手法,但在GO语言中

      这并不被推荐。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值