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

109 阅读3分钟

GO语言基础语法

	GO语言的基础语法包括数据类型、变量、常量、运算符、控制流程语句等。

数据类型

	GO语言的数据类型包括基本数据类型和派生数据类型。基本数据类型包括整型、浮点型、布尔型和字符串型。派生数据类型包括数组、切片、结构体、指针和函数等。

整型

	GO语言的整型包括 int8int16int32int64uint8uint16uint32uint64 等类型。其中, intuint 类型的长度依赖于操作系统的位数。

浮点型

	GO语言的浮点型包括 float32float64 两种类型。

布尔型

	GO语言的布尔型只有两个取值,truefalse

字符串型

	GO语言的字符串类型是一种不可变的字节序列,可以使用双引号或反引号来表示。

变量和常量

	在GO语言中,可以使用 var 关键字来定义变量,使用 const 关键字来定义常量。变量和常量在使用前必须先声明。

变量

	GO语言的变量可以是任何数据类型,变量的类型可以自动推导或手动指定。变量的声明格式为:var 变量名 变量类型。例如:
var i int    // 声明一个int类型的变量i
var s string // 声明一个string类型的变量s

常量

	GO语言的常量使用 const 关键字定义,常量的值在编译时确定,不能被修改。常量的声明格式为:const 常量名 = 值。例如:
const pi = 3.14 // 声明一个常量pi,值为3.14
const (
    x = 1
    y = 2
) // 声明多个常量

运算符

	GO语言支持包括算术运算符、比较运算符、逻辑运算符和位运算符等多种运算符。

算术运算符

	GO语言的算术运算符包括加、减、乘、除、取余和自增自减等。

比较运算符

	GO语言的比较运算符包括等于、不等于、大于、小于、大于等于和小于等于等。

逻辑运算符

	GO语言的逻辑运算符包括与、或、非等。

位运算符

	GO语言的位运算符包括按位与、按位或、按位异或和位清空等。

控制流程语句

	GO语言的控制流程语句包括条件语句、循环语句和跳转语句等。

条件语句

	GO语言的条件语句包括 if 语句和 switch 语句。if 语句用于判断条件是否成立,如果成立则执行一段代码块,否则执行另一段代码块。switch 语句用于根据不同的条件执行不同的代码块。
if x > y {
    // 执行代码块1
} else {
    // 执行代码块2
}
switch x {
case 1:
    // 执行代码块1
case 2:
    // 执行代码块2
default:
   // 执行代码块3
}

循环语句

	GO语言的循环语句包括 for 语句和 range 语句。for 语句用于循环执行一段代码块,可以通过 break 语句和 continue 语句控制循环的状态。range 语句用于遍历数组、切片、字符串、映射等数据结构。
for i := 0; i < 10; i++ {
    // 执行代码块
}
for index, value := range arr {
    // 执行代码块
}

跳转语句

	GO语言的跳转语句包括 goto 语句和 defer 语句。goto 语句用于无条件地跳转到指定的标签,defer 语句用于在函数返回之前执行一些操作。
goto label
label:
    // 执行代码块
defer func() {
    // 执行代码块
}()

思考与分析

	GO语言的并发编程是其最大的特点之一,它可以通过 goroutine 和 channel 来实现。goroutine 是一种轻量级的线程,可以并发地执行不同的任务。channel 是一种同步的通信机制,可以在不同的 goroutine 之间进行通信和数据传递。
func main() {
    ch := make(chan int)
    go func() {
        ch <- 1 // 将数据1发送到通道ch中
    }()
    x := <-ch // 从通道ch中接收数据,并赋值给变量x
    fmt.Println(x) // 输出1
}
	以上是一个简单的例子,我们创建了一个通道 ch,然后在一个 goroutine 中向通道 ch 中发送数据1,接着在主 goroutine 中从通道 ch 中接收数据,并将其赋值给变量 x,最后输出变量 x 的值。

总结

	GO语言的基础语法包括数据类型、变量、常量、运算符、控制流程语句等,这些都是编写GO程序的基础。在GO语言中,可以使用 goroutine 和 channel 来实现并发编程,提高程序的性能和效率。