美文网首页
开篇--初识Go语言

开篇--初识Go语言

作者: 果仁在哪儿 | 来源:发表于2020-10-28 18:02 被阅读0次

疫情下的选择

编者实际接触Go语言始于2020年3月12日,在此之前主要以C/C++作为开发语言,涉及产业为汽车工程软件开发,可概括为windows下的桌面软件类别。在使用Go语言开发之前,编者对Go基本没有了解,好在编者有一定开发经验,因此在接受需求之后,开始搜寻资料、查阅书籍、搭配环境,大约花费一周的时间熟悉了Go语言的语法、特点,并通过实例练习进一步了解了Go语言的特性。而后参与实际项目开发,逐渐掌握Go语言编程的方法,并配合docker和Kubernetes的使用,让我对Go在微服务和分布式的实现上有了更深的认识。但真正的精通一门编程语言还有很多的工作需要做,这包括对开发工具的使用、对语言高效性的理解、对相关辅助工具的熟悉程度等,因而特意分享一些学习心得和开发经验供诸君参考,如有不当之处,也请诸君批评指正。

Go语言的诞生

Go语言诞生于谷歌公司内部,2007年的时候由三位非常知名工程师(科学家)Robert Griesemer、Rob Pike和Ken Thompson构建,2009年11月正式向外发布,同时向所有开发者开源代码。随后Go语言社区逐渐规范,诸多的go语言爱好者加入社区参与Go的进一步开发,目前Go语言已经相当完善,但是版本仍在不断更新,编者当前使用的是go1.14版本,后续实例均在1.14版本上演示。

Go语言的特性

Go被创立之初的目的就是简单、高效、实用,让程序的开发变得简单。互联网时代的典型特征是多核化和集群化,高性能服务器拥有64核、128核,甚至更多核,但是我们依旧在使用为单核设计的技术在编程。编程的技术同样在演化。大部分程序不再由单个开发者来完成,而是由处于不同时区、不同时间段工作的一组人来完成。大项目被分解为小项目,指派给不同的程序员,程序员开发完成后,再以可以在各个应用程序中交叉使用的库或者包的形式,提交给整个团队。Go语言是一种让代码分享更容易的编程语言。Go语言自带一些工具,让使用别人写的包更容易,并且Go语言也让分享自己写的包更容易。

作为一门语言,Go不仅定义了能做什么,还定义了不能做什么。Go语言的语法简洁到只有几个关键字,便于记忆。Go语言的编译器速度非常快,有时甚至会让人感觉不到在编译。所以,Go开发者能显著减少等待项目构建的时间。因为 Go语言内置并发机制,所以不用被迫使用特定的线程库,就能让软件扩展,使用更多的资源。 Go语言的类型系统简单且高效,不需要为面向对象开发付出额外的心智,让开发者能专注于代码复用。Go语言还自带垃圾回收器,不需要用户自己管理内存。

Go语言使用了更加智能的编译器,并简化了解决依赖的算法,最终提供了更快的编译速度。编译Go程序时,编译器只会关注那些直接被引用的库,而不是像 Java、 C 和 C++那样,要遍历依赖链中所有依赖的库。因此,很多G 程序可以在 1 秒内编译完。在现代硬件上,编译整个Go语言的源码树只需要 20 秒。Go语言对并发的支持是这门语言最重要的特性之一。goroutine很像线程,但是它占用的内存远少于线程,使用它需要的代码更少。通道(channel)是一种内置的数据结构,可以让用户在不同的goroutine之间同步发送具有类型的消息。这让编程模型更倾向于在goroutine之间发送消息,而不是让多个goroutine争夺同一个数据的使用权。

第一个Go程序

这里我们写下第一个Go程序,期待后面的内容会更精彩

package main
import "fmt"

func main() {
  fmt.Println("Hello, world. 你好,世界")
}

相关文章

  • 开篇--初识Go语言

    疫情下的选择 编者实际接触Go语言始于2020年3月12日,在此之前主要以C/C++作为开发语言,涉及产业为汽车工...

  • golang的helloworld

    go语言初识 go语言的变量

  • 初识Go语言-1

    Go语言学习路径 初识Go语言 Go语言环境搭建与IDE安装 Go语言基础语法 Go语言数据类型 Go语言变量和常...

  • GO语言——入门(1)

    一、初识GO语言 1.GO语言介绍 1.1 GO语言是什么 2009年11月10日,GO语言正式成为开源编程语言家...

  • 初识go语言

    title: 初识go语言tag: golang 编程语言categories: notes 简介 Go语言是一门...

  • 以太坊私有链搭建+挖矿+转账

    初识以太坊 以太坊介绍链接 以太坊官方 选择语言 选择以GO语言开发的Go-ethereum项目 GO语言安装 安...

  • 课程目录

    初识Go语言 Go语言的特性 环境搭建 分享人:洪波 时间:2019-6-25 17:00-18:00 Go语...

  • 初识Go语言

    Go 语言结构 初识Go语言 Go 语言结构 代码说明: ① 定义包名,必须在源文件中非注释的第一行指明这个文件...

  • 初识Go语言

    说起Go语言,我只是有所耳闻并没有过多了解,直到有一次和一个学计算机考研的学弟聊起,他说他舅舅是也是搞IT的 ,说...

  • 初识Go语言

    用途服务器编程,原来适合C或者C++做的事情,用Go也是非常合适,例如处理日志、数据打包、虚拟机处理、文件系统等。...

网友评论

      本文标题:开篇--初识Go语言

      本文链接:https://www.haomeiwen.com/subject/tleqvktx.html