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

62 阅读3分钟

Go 语言是一种开源的编程语言,由 Google公司在 2009 年设计和发布。它的目标是提供一种简洁、高效、可靠和易于维护的编程语言,适用于构建大规模的分布式系统和云计算平台。接下来我来简单介绍一下它的特点和基础语法。

特点

  • 静态类型:Go 语言在编译时就确定了变量的类型,而不是在运行时。这样可以避免一些类型错误,提高程序的安全性和性能。
  • 编译型:Go 语言是先将源代码编译成可执行的二进制文件,然后再运行。这样可以提高程序的运行速度,减少依赖和部署的复杂度。
  • 并发支持:Go 语言支持并发编程,可以让多个任务同时执行,充分利用多核处理器的性能。Go 语言使用了一种被称为 goroutine 的轻量级线程,以及一种称为 channel 的通信机制,来实现并发编程的简洁和高效。
  • 垃圾回收:Go 语言支持垃圾回收。可以自动管理内存的分配和释放,无需用户手动干预。这样可以减少内存泄漏和内存管理的错误,提高程序的稳定性和可维护性。
  • 标准库丰富:Go 语言拥有一个庞大而全面的标准库,涵盖了各种常用的功能和领域,如字符串处理、文件操作、网络编程、加密解密、数据结构、算法、测试、压缩、图像处理等。使用标准库可以提高程序的可移植性和兼容性,减少第三方依赖和冲突。

基础语法

  • 变量声明:使用 var 关键字来声明变量,可以指定变量的类型,也可以让编译器自动推断。 例如:
var x int // 声明一个整型变量 x
var y = 290 // 声明一个整型变量 y,并赋值为 290
var z string = "Hello" // 声明一个字符串变量 z,并赋值为 "Hello"
  • 常量声明:使用 const 关键字来声明常量,常量是不可修改的值。例如:
const PI = 3.14 // 声明一个浮点型常量 PI,并赋值为 3.14

const name = "zhao" // 声明一个字符串常量 name,并赋值为 "zhao"
  • 函数定义:func 关键字定义函数,函数可以有参数和返回值。例如:
func plus(a int, b int) int { // 定义一个函数 plus,接受两个整型参数 ab,返回一个整型值

    return a + b // 返回 ab 的和
  • 条件判断:if 关键字进行条件判断,可以有 else 或 else if 。例如:
if a > b {
    fmt.Println("a大于b") 
} else if a < b {
    fmt.Println("a小于b")
} else {
    fmt.Println("a等于b")
  • 循环:for 关键字进行循环控制,可以有三种形式:初始化-条件-更新(类似于C++里面的for)、条件、死循环。例如:
for i := 0; i < 10; i++ { // 初始化 i0,条件为 i 小于 10,每次循环更新 ii + 1
    fmt.Println(i) // 输出 i 的值
}

for x < 100 { // 条件为 x 小于 100
    x = x * 3 // 将 x 的值乘以 3
}

for { //死循环
    fmt.Println(1) // 输出1
}
  • 数组和切片:go当中使用“[]”来表示数组和切片,数组是固定长度的序列,切片是可变长度的序列。例如:
var acc [5] int // 声明一个长度为 5 的整型数组 acc
acc[0] = 1 // 给数组的第一个元素赋值为 1
acc[4] = 2 // 给数组的最后一个元素赋值为 2

var abb []int // 声明一个整型切片 abb
abb = append(abb, 1) // 向切片末尾添加一个元素 1
abb = append(abb, 2, 3, 4) // 向切片末尾添加多个元素 2, 3, 4
abb = abb[:2] // 截取切片的前两个元素