GO语言基础语法 | 青训营笔记

46 阅读2分钟

GO语言是由谷歌公司于2009年发布的开源编程语言,由于其具有高效、简洁、安全等特点被越来越多的开发者所喜爱和使用。在学习和掌握GO语言的过程中,我们需要了解一些基础语法知识。

  1. 变量与常量

GO语言中定义变量可以通过var关键字进行声明,例如:

go复制代码
var a int
a = 10

也可以同时进行声明和赋值,例如:

go复制代码
var b int = 20

在GO语言中,常量的定义相对比较简单:

go复制代码
const c = 3.14159
  1. 数据类型

GO语言中支持多种数据类型,包括基本数据类型和复合数据类型。

其中基本数据类型包括:bool、int、float、string等,而复合数据类型包括:array、slice、map、struct等。

下面是一个数组的例子:

go复制代码
var arr [5]int
arr[0] = 1

slice的例子:

go复制代码
var slice []int
slice = append(slice, 1)

结构体的例子:

go复制代码
type Person struct {
    Name string
    Age int
}
var p1 Person
p1.Name = "Mike"
p1.Age = 18
  1. 控制流程

在GO语言中,条件判断和循环控制有if、for、switch等语句。

if语句可以有多个条件表达式:

go复制代码
if a > 10 && b < 20 {
    //
} else if a < 5 {
    //
} else {
    //
}

for循环支持常用的三种形式,分别是:

go复制代码
// for循环1
for i := 0; i < 10; i++ {
    //
}

// for循环2
for {
    if condition {
        break
    }
}

// for循环3
for index, value := range array {
    //
}

switch语句也非常灵活,下面是一个例子:

go复制代码
switch a {
case 1:
    //
case 2, 3:
    //
default:
    //
}
  1. 函数

GO语言中函数的定义和调用都比较简单。例如,下面是一个计算两个整数之和的基本示例:

go复制代码
func add(a, b int) int {
    return a + b
}

函数的调用也同样简单:

go复制代码
c := add(1, 2)
  1. 并发与协程

GO语言强大的并发性能使其在处理高并发、分布式等场景下具有着非常广泛的应用。在GO语言中通过goroutine来实现协程,而通信可以通过channel来进行。

例如,下面是一个启动两个协程计算1+2和3+4,然后将结果输出到channel的示例:

go复制代码
func addTwoNumbers(a, b int, ch chan int) {
    sum := a + b
    ch <- sum
}

func main() {
    ch := make(chan int)
    go addTwoNumbers(1, 2, ch)
    go addTwoNumbers(3, 4, ch)
    res1, res2 := <-ch, <-ch
    fmt.Println(res1, res2)
}

总结:

GO语言具有简洁高效、并发性能强等优点,在Web后端、云计算、物联网等领域都有广泛的应用。在学习和掌握GO语言时,需要对变量与常量、数据类型、控制流程、函数、并发等基础知识进行深入了解,并且要进行不断的实践和学习来提升自己的编程水平。