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

30 阅读3分钟

1. 前言

Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。

Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。

2. 基础语法

2.1 包声明

在 Go 语言中,每个文件都属于一个包,包声明使用 package 关键字。例如:

 package main

2.2 导入包

通过 import 关键字,我们可以导入其他包的功能。例如:

 import "fmt"

2.3 函数入口

Go 语言程序的入口是 main 函数。例如:

 func main() {
     // 程序逻辑
 }

2.4 变量声明与赋值

Go 语言使用 var 关键字声明变量,并可以通过赋值初始化变量。例如:

 var name string
 name = "Go语言"

也可以通过简短声明方式定义并初始化变量:

 age := 18

2.5 数据类型

Go 语言拥有丰富的数据类型,包括基本类型(如整型、浮点型、布尔型)、复合类型(如数组、切片、字典)以及自定义类型。例如:

 var num int
 var price float64
 var isDone bool
 ​
 var numbers = [3]int{1, 2, 3}
 var names = []string{"A", "B", "C"}
 var scores = map[string]int{"Chinese":85,"Math": 90, "English": 95}

2.6 控制流语句

Go 语言提供了常用的控制流语句,如条件语句、循环语句和选择语句,用于实现程序的逻辑控制。

  • 条件语句使用 ifelse ifelse 关键字。例如:
 if score >=85 {
     fmt.Println("优秀")
 } else if score >= 60 {
     fmt.Println("良好")
 } else {
     fmt.Println("及格")
 }
  • 循环语句使用 for 关键字,可以实现循环执行代码块。例如:
 for i := 0; i < 5; i++ {
     fmt.Println(i)
 }
  • 选择语句使用 switch 关键字,根据条件选择不同的执行分支。例如:
 switch day {
 case "Monday":
     fmt.Println("星期一")
 case "Tuesday":
     fmt.Println("星期二")
 default:
     fmt.Println("其他")
 }

2.7 函数定义与调用

在 Go 语言中,函数使用 func 关键字定义,可以接受参数并返回结果。例如:

 func add(a, b int) int {
     return a + b
 }
 ​
 result := add(3, 5)
 fmt.Println(result)

3. 常用特性解析

除了基础语法外,Go 语言还提供了一些常用特性,以提高开发效率和代码质量。

  • 错误处理:Go 语言通过返回值来处理错误,约定了使用 error 类型作为函数返回值来传递错误信息。
  • 并发编程:Go 语言内置了轻量级的协程(goroutine)和通信机制(channel),方便编写并发程序。
  • 包管理:Go 语言使用 Go Modules 进行包管理,可以方便地管理项目的依赖关系。
  • 测试支持:Go 语言内置了测试框架,可以编写单元测试和性能测试,确保代码的正确性和性能。
  • 多返回值:Go 语言函数可以返回多个值,这对于处理多个相关结果非常方便。
  • defer 语句:Go 语言提供了 defer 语句,用于在函数返回前执行一些清理操作,例如关闭文件或释放资源。
  • 结构体和方法:Go 语言支持面向对象编程,通过结构体和方法可以定义自己的类型和行为。