去编程语言

Go编程语言(也称为Golang)是由Google的团队开发的通用编程语言。 The Go language was conceived in September 2007 by Robert Griesemer, Rob Pike, and Ken Thompson at Google. Go first appeared in November 2009, and the first version of the language was released in December 2012. The official web site of the Go project is http://golang.org/. Go has its own elegance and programming idioms that make the language productive and fun to code. Go also provides a comprehensive standard library. The standard library provides all the core packages programmers need to build real-world, web and network-based programs. Go is a statically typed, natively compiled, garbage-collected, concurrent programming language that belongs primarily to the C family of languages in terms of basic syntax.

Go编程语言是一个开源项目,根据BSD样式许可进行分发,以提高程序员的生产力。 Go是富有表现力,简洁,干净且高效的编程语言。 Go可以快速编译为机器代码,但具有垃圾回收的便利性和运行时反射的功能。它是一种更快的,静态类型的编译语言,感觉就像是动态类型的解释语言。

Go是一种编译语言,和许多语言一样,它大量使用了命令行。 Go既是编程语言的名称,也是用于构建Go程序并与之交互的工具集的名称。

Go是一种静态类型的编程语言。这意味着编译器始终希望知道程序中每个值的类型。当编译器提前知道类型信息时,可以帮助确保程序以安全的方式使用值。这有助于减少潜在的内存损坏和错误,并为编译器提供了生成更多高性能代码的机会。 Go struct允许您通过组合一个或多个类型(包括内置类型和用户定义类型)来创建自己的类型。结构是在Go中创建具体的用户定义类型的唯一方法。当您使用struct创建自己的类型时,重要的是要了解Go在其类型系统中不提供对继承的支持,但是它支持类型的组合,从而可以通过组合较小的类型来创建较大的类型。 Go的设计理念是通过组合较小的模块化组件来创建较大的组件。如果您是一个务实的程序员,您将欣赏Go的设计理念,因为它具有实际优势,因此更倾向于组合而不是继承。类型的继承有时会给可维护性带来实际挑战。

在过去的十年中,计算机硬件已发展为具有许多CPU内核和更多功能。如今,我们大量利用云平台来构建和运行其中云服务器具有更大功能的应用程序。尽管现代计算机和云上的虚拟机实例具有更大的功能和许多CPU内核,但我们仍然无法使用大多数现有的编程语言和工具来利用现代计算机的功能。 Go中的并发性是功能可以彼此独立运行的能力。它的并发机制使编写程序可以轻松地从多核和联网机器中获得最大收益,而其新颖的类型系统则可以实现灵活的模块化程序构造。将函数创建为goroutine时,会将其视为独立的工作单元,该工作单元将进行调度,然后在可用的逻辑处理器上执行。 Goroutine是通过以下方式创建的:调用Go语句,然后调用要作为自主活动运行的函数或方法。 Go运行时调度程序是一款复杂的软件,可以管理所有创建的goroutine,并需要处理器时间。调度程序位于操作系统之上,将操作系统的线程绑定到逻辑处理器,逻辑处理器又执行goroutine。调度程序可控制与在任何给定时间在哪个逻辑处理器上运行哪些goroutine有关的所有内容。