Go 语言入门指南:基础语法和常用特性解析 | 青训营

80 阅读4分钟

Go语言(又称Golang)是一种开源的静态类型编程语言,由Google开发并于2009年首次发布。Go语言的设计目标是提供一种简单、高效、可靠的编程语言,以满足现代软件开发的需求。

以下是Go语言的一些特点和优势:

  1. 简洁易学:Go语言的语法简单清晰,关键字和语法规则较少,易于学习和使用。它摒弃了一些复杂的特性,使得代码更易于阅读和维护。
  2. 并发编程:Go语言原生支持并发编程,通过goroutine和channel机制,可以轻松地编写高效的并发程序,实现并发和并行操作。这使得Go语言在处理大规模并发任务时表现出色。
  3. 高性能:Go语言通过优化编译器和运行时系统,以及并发模型的支持,实现了出色的性能。它的执行速度接近于C语言,同时具备更高的开发效率。
  4. 内存管理:Go语言具有自动内存管理的特性,通过垃圾回收机制,可以自动释放不再使用的内存,减轻了开发人员的负担。
  5. 强大的标准库:Go语言拥有丰富的标准库,涵盖了网络编程、文件操作、加密解密、并发等各个领域,开发人员可以直接使用这些库来快速构建各种类型的应用程序。
  6. 跨平台支持:Go语言可以在多个平台上运行,包括Windows、Linux、macOS等,开发人员可以轻松地在不同平台上部署和运行代码。
  7. 强调工程化:Go语言鼓励模块化、可测试和可维护的代码结构,提供了丰富的工具和标准库来支持工程化开发。

总的来说,Go语言以其简洁、高效、并发编程和强大的标准库等特点,逐渐成为了一种受欢迎的编程语言,广泛应用于Web开发、系统编程、云计算等领域。

学一门语言先看看helloworld吧,感觉go结合了好多语言的方式,写起来一会像python一会像c++,java差不多。反正语法挺奇特

image.png

基础语法

首先go是强类型语言,每一个变量都有自己的变量类型,常见的有:字符串,整数,浮点型,布尔类型,另外go中也有指针(只不过用法就是解引用和取地址) go语言中字符串是内置类型,可通过加号直接拼接,也同时能用等于号比较俩个字符串

下面是变量声明及其定义

image.png

分支结构

if - else :

go 中的if - else和其他语言差不多,有些细节需要注意

image.png

switch-case

switch 中 可以放 变量,常量 ,字符串, case中也可以放表达式,用起来很是方便

image.png

循环结构

go 语言中只有一个for

image.png

数组

数组的话和其他语言类似,具有编号且长度确定的元素序列

image.png

切片

go语言中一般很少用数组,用切片更方便一些

切片可以任意更改长度

image.png 切片也可以这样声明,一开始总搞混切片和数组,其实就是切片方括号没值而已,数组有值

image.png

map

这个map和其他语言的hashmap、字典差不多

image.png

range

下面来介绍range。对于一个 slice(切片) 或者一个 map 的话,我们可以用 range 来快速遍历,这样代码能够更加简洁。 range 遍历的时候,对于数组会返回两个值,第一个是索引,第二个是对应位置的值。如果我们不需要索引的话,我们可以用下划线来忽略。

image.png

函数

这个是 Golang 里面一个简单的实现两个变量相加的函数。 Golang 和其他很多语言不一样的是,变量类型是后置的。Golang 里面的函数原生支持返回多个值。在实际的业务逻辑代码里面几乎所有的函数都返回两个值,第一个是真正的返回结果,第二个值是一个错误信息。

image.png

结构体

image.png

结构体函数

相比其他语言,结构体成员函数是在外面定义的

image.png