linux cpu占用率如何看
291
2022-09-17
Go 编程语言(简介)
介绍
从Go 编程开始
有各种在线 IDE,例如 The Go Playground、repl.it 等,无需安装即可运行 Go 程序。
为了在自己的 PC 或笔记本电脑上安装 Go,我们需要以下两个软件:文本编辑器和编译器
文本编辑器: 文本编辑器为您提供了一个编写源代码的平台。 以下是文本编辑器列表:
Windows 记事本操作系统编辑命令BriefEpsilonvm 或 viEmacsVS 代码
寻找 Go 编译器: Go 发行版以二进制形式提供,可用于FreeBSD(版本 8 及更高版本)、Linux、Mac OS X(Snow Leopard 及更高版本)以及具有 32 位 (386) 和64 位 (amd64 ) 的Windows 操作系统 ) x86处理器架构。
注意:go语言源代码文件扩展名必须为 .go
用 Go 编写第一个程序:
package mainimport "fmt"func main() { fmt.Println("Hello, go")}
输出:
Hello, go
Go程序的语法解释:
第1行:包含程序的main包,包含程序的整体内容,是程序运行的起点,必须写。第 2 行:它包含import “fmt”,它是一个预处理器命令,告诉编译器包含位于包中的文件。第 3 行:main 函数,是程序执行的开始。第 4 行:fmt.Println()是一个标准库函数,用于在屏幕上打印一些内容作为输出。在此,fmt包传递了用于显示输出的 Println 方法。注释:注释用于解释代码,其使用方式与 Java、C 或 C++ 中的类似。编译器忽略注释条目并且不执行它们。注释可以是单行或多行。
单行注释:
语法:
// 单行注释
多行注释:
语法:
/* 多行注释 */
下面是另一个例子:
package mainimport "fmt"func main() {fmt.Println("1 + 1 =", 1 + 1)}
输出:
1 + 1 = 2
上述程序说明:
为什么“Go语言”是这样的?
因为 Go 语言致力于将解释型动态类型语言的编程易用性与静态类型编译语言的效率和安全性相结合。它还旨在实现现代化,支持网络和多核计算。
Go 中排除了哪些其他语言中存在的内容?
硬件限制
我们观察到,十年来,硬件和处理配置的变化速度非常缓慢。2004 年,P4 的时钟速度为 3.0 GHz,而现在在 2018 年,Macbook pro 的时钟速度为 Approx (2.3Ghz v 2.66Ghz)。为了加快速度,我们使用更多处理器的功能,但使用更多处理器成本也会增加。由于这个原因,我们使用有限的处理器,并且使用有限的处理器,我们有一种繁重的编程语言,其线程占用更多的内存并降低了我们系统的性能。因此,为了解决这个问题,Golang 的设计方式是使用 Goroutine 代替线程,它类似于线程,但消耗的内存非常少。
就像线程消耗 1MB 而 Goroutine 消耗 2KB 内存一样,因此我们可以同时触发数百万个 goroutine。所以上面讨论的一点使 golang 成为像 C++ 和 Java 一样处理并发的强大语言。
Go语言的优缺点
优点:
灵活——简洁、简单且易于阅读。并发性-它允许多个进程同时有效地运行。快速结果 - 它的编译时间非常快。库 - 它提供了丰富的标准库。垃圾收集 - 这是 Go 的一个关键特性。Go 擅长对内存分配进行大量控制,并且在最新版本的垃圾收集器中显着减少了延迟。它验证接口和类型嵌入。
缺点:
它不支持泛型,即使有很多关于它的讨论。使用这种编程语言分发的包非常有用,但 Go 在传统意义上并不是那么面向对象。缺少一些库,尤其是 UI 工具包。
用 Go 语言开发的一些流行的应用程序
Docker:一套部署linux容器的工具Openshift:红帽的云计算平台即服务。Kubernetes:无缝自动化部署流程的未来Dropbox:将他们的一些关键组件从 Python 迁移到 Go。Netflix:他们的服务器架构的两个部分。InfluxDB:是由 InfluxData 开发的开源时间序列数据库。Golang:语言本身是用 Go 编写的。
Go语言的特点
语言设计:语言的设计者有意识地保持语言简单易懂。整个细节都在几页之内,一些有趣的设计决策是通过语言中的面向对象支持做出的。为此,该语言是固执己见的,并推荐了一种惯用的实现方式。它更喜欢组合而不是继承。在 Go 语言中,“事半功倍”是口号。包管理:Go 融合了现代开发人员处理开源项目的工作流程,并将其包含在管理外部包的方式中。直接在工具中提供支持以获取外部包并通过一组简单的命令发布您自己的包。强大的标准库:Go 有强大的标准库,它以包的形式分发。静态类型:Go 是静态类型语言。因此,在这个编译器中,不仅可以成功编译代码,还可以确保类型转换和兼容性。由于这个特性,Go 避免了我们在动态类型语言中面临的所有问题。测试支持:Go 本身为我们提供了单元测试功能,即一种简单的机制来编写与您的代码并行的单元测试,因此您可以通过自己的测试了解代码覆盖率。作为示例,这可以很容易地用于生成代码文档。平台无关:Go 语言就像 Java 语言一样,支持平台无关。由于其模块化设计和模块化,即代码被编译并转换为尽可能小的二进制形式,因此不需要依赖。它的代码可以在任何平台或您工作的任何服务器和应用程序中编译。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~