走进Go语言基础语法(一)

74 阅读8分钟

1.1 什么是程序

程序:就是完成某个功能的指令的集合。

指令:计算机或计算设备中的基本操作指令,用于执行特定的操作或完成特定的任务。指令通常以二进制形式表示,并通过编程语言或机器语言的形式进行编写和组织。

1.2 Go语言的诞生

1.2.1Go语言的核心开发团队-三个大神的结合

1.肯·汤普森(Ken Thompson)是计算机科学家和程序员,也是Unix操作系统的共同创造者之一。他于1943年出生于美国,是计算机科学领域的重要人物之一。 肯·汤普森在贝尔实验室工作期间,与丹尼斯·里奇(Dennis Ritchie)一起开发了Unix操作系统。Unix成为后来许多操作系统的基础,并对计算机科学和软件开发产生了深远的影响。他还参与了C语言的发展,C语言也成为了广泛使用的编程语言之一。除了Unix和C语言,肯·汤普森还参与了其他一些重要项目和研究。他在1980年代提出了反汇编器的概念,并设计了多个编程语言和工具,包括B语言、Go语言、UTF-8编码等。肯·汤普森因其杰出的贡献和成就获得了许多荣誉和奖项,包括图灵奖、National Medal of Technology等。他对计算机科学领域的贡献使他成为计算机界的重要人物之一,对现代计算机和软件开发产生了深远的影响。

2.罗布·派克(Rob Pike)是一位知名的计算机科学家和软件工程师。他于1956年出生在加拿大,是计算机科学领域的重要人物之一。罗布·派克在贝尔实验室工作期间,与肯·汤普森(Ken Thompson)和丹尼斯·里奇(Dennis Ritchie)一起开发了Unix操作系统。他也是Go编程语言的创始人之一,Go语言是一种开源编程语言,逐渐在软件开发领域获得了广泛的应用。除了Unix和Go语言,罗布·派克还对计算机图形学、分布式系统、网络协议等领域做出了重要贡献。他的研究和工作使他成为了计算机科学领域的重要人物,并对现代计算机和软件开发产生了深远的影响。罗布·派克持有多个荣誉和奖项,包括图灵奖、ACM杰出科学家奖等。他目前是Google公司的一名工程师,继续在计算机科学和技术领域做出贡献。

3.Robert Griesemer(罗伯特·格里泽默)是一位知名的计算机科学家和软件工程师,也是Go编程语言的创始人之一。罗伯特·格里泽默在贝尔实验室工作期间,与罗布·派克(Rob Pike)和肯·汤普森(Ken Thompson)一起共同开发了Go编程语言。Go是一种开源的编程语言,旨在提供高效、可靠和简洁的软件开发方式。Go语言通过简单的语法和并发模型,为开发者提供了处理大规模应用程序的能力,并在业界获得了广泛的应用。除了Go,罗伯特·格里泽默还在其他计算机科学领域做出了贡献。他曾参与开发过Java HotSpot虚拟机Strongtalk语言和Plan 9操作系统。他对编程语言设计、编译器技术和分布式计算等领域有丰富的经验和深入的研究。罗伯特·格里泽默目前是谷歌(Google)的一名工程师,继续在Go语言的发展和推广方面发挥重要作用。他的贡献使他成为计算机科学界的重要人物之一,并对现代软件开发产生了深远的影响。

1.2.2 Google创造Golang的前因后果

  1. 大规模软件开发:Google需要处理庞大而复杂的软件系统,包括搜索引擎、分布式系统、网络服务等。传统的编程语言在这些系统的开发和维护过程中可能会遇到困难,因此Google希望有一种适用于大规模软件开发的新语言。
  2. 并发性能:随着多核处理器的普及,编写并发代码变得越来越重要。Go语言在语言级别提供了并发原语和轻量级线程(goroutine),使并发编程更加简单和高效。
  3. 效率和可靠性:Google希望有一种编程语言,能够在保持高效性的同时,具备内存安全、垃圾回收和静态类型检查等现代语言的特性,以提供更可靠和稳定的软件开发环境。
  4. 快速编译和执行:Go语言拥有快速的编译和执行速度,使程序员能够快速迭代和开发软件,提高开发效率。
  5. 简洁和易读性:Go语言的设计目标之一是提供简洁的语法和清晰的代码结构,以增加代码的可读性和可维护性。

1.2.3 Golang的发展历程

2007年:Rob Pike、Robert Griesemer和Ken Thompson在Google开始着手设计和开发Go语言,并将其作为保密项目进行。

2009年:Go语言的第一个公开版本,即Go 1版本,发布。这个版本主要关注于语言的核心功能和特性,如并发性、垃圾回收和简洁的语法。

2012年:Go语言的第一个稳定版Go 1.0发布,标志着Go语言的成熟和稳定。

2013年:Go语言在Google内部广泛应用,并在开源社区中获得了关注和认可。Go 1.1发布,带来了性能优化和改进。

2014年:Go语言的标准库增加了对跨平台开发的支持,包括Windows、Mac、Linux等操作系统。

2015年:Go语言发布了Go 1.5版本,带来了更好的垃圾回收机制和并发性能优化,以及对ARM处理器的支持。

2016年:Go语言的标准库增加了对容器技术的支持,包括Docker和Kubernetes等。

2018年:Go语言发布了Go 1.11版本,引入了模块化支持,使依赖管理更加简单和灵活。

2019年:Go语言的公共社区不断发展壮大,涌现出许多开源项目和工具,丰富了Go生态系统。

2020年:Go语言发布了Go 1.15版本,带来了更好的性能、错误处理改进和工具链优化。

2021年:Go语言发布了Go 1.17版本,带来了更好的模块支持、垃圾回收性能优化和加密算法改进。

1.2.4 Golang语言的特点

  1. 并发性:Go语言内置了协程(goroutine)和通道(channel)作为原生的并发编程模型,使并发代码编写和管理变得简单和高效。它也提供了并发安全的数据类型和内置的并发模式,使开发者能够轻松编写并发程序。
  2. 简洁和清晰的语法:Go语言的语法简洁明了,强调代码的可读性和可维护性。它摒弃了一些复杂的特性和语法糖,减少了代码的冗余和混乱,使代码更易理解。
  3. 快速编译和执行:Go语言的编译器非常快,可以在几秒钟内将代码编译成可执行文件。同时,Go语言的运行时性能也非常高效,具有低延迟和高吞吐量的特点。
  4. 内存安全和错误检查:Go语言通过内置的垃圾回收器(Garbage Collector)来自动管理内存,减轻了开发者的负担,并降低了内存泄漏和野指针等错误的风险。此外,Go语言还在语言级别提供了错误检查机制(error handling),使错误处理更加可靠和明确。
  5. 静态类型和编译时检查:Go语言是一种静态类型语言,编译器在编译时可以进行类型检查和错误检查,帮助开发者在早期发现并修复潜在问题,提高开发效率和代码质量。
  6. 良好的标准库:Go语言的标准库非常丰富,提供了许多常用的功能和工具,如网络编程、并发编程、加密解密、JSON处理等。标准库的设计注重简洁和易用性,使开发者能够快速构建各种应用程序。
  7. 跨平台支持:Go语言可以轻松在不同的操作系统上进行开发和部署,包括Windows、Mac和Linux等。它提供了对不同操作系统和架构的原生支持,使跨平台开发变得更加便捷。

1.3 Golang的目录结构怎么处理

屏幕截图 2023-08-21 120258.png

1.4 Go程序开发的注意事项

  1. 文件以"go"为拓展名
  2. 执行入口是main函数
  3. 严格区分大小写(HTML是不区分大小写的)
  4. go方法由一条条语句构成,每个语句后不需要添加分号,Go的编译器会在每行后自动加分号
  5. Go编译器是一行一行进行编译的,因此我们一行就写一条语句,不能把多条语句写在同一个,否则报错

屏幕截图 2023-08-21 121745.png 以上是错误写法,必须每一行写一条语句

6.go语言定义的变量或者import的包如果没有使用到,代码不能通过编译,会进行报错。