Go的基础语法 | 青训营

49 阅读2分钟

Go语言特点

  • 高性能、高并发
  • 语法简单、学习曲线平缓
  • 丰富的标准库
  • 完善的工具链
  • 静态链接
  • 快速编译
  • 跨平台
  • 垃圾回收

数组

数组是具有固定长度的元素集合。在Go语言中,数组是一个值类型,因此可以通过值传递给函数。这一特点使得数组在内存管理上相对高效,但同时也限制了灵活性。数组的大小固定,通常在需要更加灵活的数据结构时会选择使用切片。

示例: 创建一个长度为5的整型数组并赋值

var arr [5]int = [5]int{1, 2, 3, 4, 5}

切片

切片是一个动态数组,它可以根据需要自动增长或缩小。切片是一个引用类型,它底层引用了一个数组,并且可以重新分配底层数组的大小。切片的要注意区分的是其容量和长度。其中容量是切片背后的数组的大小,而长度是切片中元素的数量。切片代表了Go的一个独特的设计理念,即提供强大功能的同时保持简单和可控。切片的语法格式如下:

var slice []type

结构体

结构体是将多个字段(变量)组合在一起的复合类型,用于表示现实世界中的实体。Go中的结构体很有特点,因为它们既可以用作数据容器,也可以通过关联方法实现面向对象编程的特性。这种简约的方式符合Go的设计理念,即提供必要的工具,但不强迫程序员使用特定的编程范式。

map

map是Go中的关键字值存储结构,允许存储任何特定类型的键和值。map的动态特性使其成为一种非常灵活的数据结构。然而由于这种灵活性,使用map可能需要注意性能和内存管理。

函数

Go语言的函数支持多返回值,这增强了其灵活性。通过使用接口,函数还可以实现更高级的编程方式,如策略模式等。

这些都是基本的go的语法,必须要掌握的。感觉go好乱,比python还乱......