go简介
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go简介相关的知识,希望对你有一定的参考价值。
1.用 Go 解决现代编程难题
1.1 在快速开发和性能之间做出选择?
go不仅提供了高性能,同时也让开发更快速。C/C++这类语言提供了很快的执行速度,而Ruby/Python 这
类语言则擅长快速开发。
1.2 go语言内置并发机制
Go语言对并发的支持是这门语言最重要的特性之一。goroutine很像线程,但是它占用的内存远少于线程
使用它需要的代码更少。
channel是一种内置的数据结构,可以让用户在不同的goroutine之间同步发送具有类型的消息。这让编程
模型更倾向于在 goroutine之间发送消息,而不是让多个goroutine争夺同一个数据的使用权。
1.3 go编译速度快
Go语言使用更加智能的编译器,简化解决依赖的算法,go编译器只会关注那些直接被引用的库,而不是
像 Java/C/C++那样,要遍历依赖链中所有依赖的库。
1.4 Go语言的类型系统简单且高效
不需要为面向对象开发付出额外的心智,让开发者能专注于代码复用。
1.5 go语言还自带垃圾回收器
不需要用户自己管理内存。
2.goroutine
goroutine是可以与其他goroutine并行执行的函数,同时也会与主程序(程序的入口)并行执行。在其他编程语
言中,你需要用线程来完成同样的事情,而在Go语言中会使用同一个线程来执行多个goroutine。
3.channel
通道是一种数据结构,可以让 goroutine 之间进行安全的数据通信。通道可以帮用户避免其他语言里常见的共享
内存访问的问题。通道这一模式保证同一时刻只会有一个goroutine修改数据。通道用于在几个运行的goroutine之
间发送数据。
4.go语言的类型系统
4.1 类型简单
Go语言提供了灵活的、无继承的类型系统,无需降低运行性能就能最大程度上复用代码。Go开发者使用组合设
计模式,只需简单地将一个类型嵌入到另一个类型,就能复用所有的功能。一个类型由其他更微小的类型组合
而成,避免了传统的基于继承的模型。不过 Go 语言的类型可以声明操作该类型数据的方法。
4.2 Go接口对一组行为建模
Go语言还具有独特的接口实现机制,允许用户对行为进行建模,而不是对类型进行建模。
Go语言的接口更小,只倾向于定义一个单一的动作。传统的面向对象编程语言的接口系统有本质的区别。
Go语言的整个网络库都使用了 io.Reader 接口,将程序的功能和不同网络的实现分离。
总结:
1.Go 语言是现代的、快速的,带有一个强大的标准库。
2.Go 语言内置对并发的支持。
3.Go 语言使用接口作为代码复用的基础模块。
以上是关于go简介的主要内容,如果未能解决你的问题,请参考以下文章