关于Go 语言基础语法和常用特性解析(第二节)| 青训营

50 阅读2分钟

Go 语言的基础语法包括以下几个方面(续):

    • 运算符:Go 语言支持多种运算符,包括算术运算符(如 +-*/% 等),比较运算符(如 ==!=<><=>= 等),逻辑运算符(如 &&||! 等),位运算符(如 &|^<<>> 等),赋值运算符(如 =+=-= 等)和特殊运算符(如 ++, --&*<-.... 等)。运算符的优先级和结合性遵循数学惯例和 C 语言的规则。例如:
a := 1 + 2 * 3 
b := (1 + 2) * 3 
c := a == b 
d := a > b && c 
e := a & b 
f := a << 1 
g := a += b 
h := a++ 
i := &a 
j := *i 
k := make(chan int) 
k <- a 
l := <-k 
m := []int{1,2,3} 
n := len(m) 
o := m[1:2] 
p := m... 
q := struct{ name string; age int }{ "Alice", 18 }
r := q.name 

// a = 7 // b = 9 // c = false // d = false // e = 1 // f = 14 // g = 16 // h = 16, a = 17 // i 是一个指向 a 的指针 // j = 17, i 的指针值 // k 是一个 int 类型的通道 // 将 a 的值发送到 k // l = 17, 接收 k 的值 // m 是一个 int 类型的切片 // n = 3, m 的长度 // o 是一个切片,包含 m 的第二个元素 // p 是一个可变参数,包含 m 的所有元素 // q 是一个匿名结构体类型的变量 // r = "Alice", q 的 name 字段

[算术运算符:用来进行加、减、乘、除、求余、自增和自减等数学运算。例如,a + b 表示 a 和 b 的和,a % b 表示 a 除以 b 的余数,a++ 表示 a 的值加一。需要注意的是,Go语言中的自增和自减运算符只能作为单独的语句,不能作为表达式的一部分。]

[关系运算符:用来比较两个值的大小或相等性,返回一个布尔值。例如,a == b 表示检查 a 和 b 是否相等,a < b 表示检查 a 是否小于 b,a != b 表示检查 a 是否不等于 b。]

[逻辑运算符:用来连接两个或多个布尔值,返回一个布尔值。例如,a && b 表示逻辑与,如果 a 和 b 都为真,则结果为真,否则为假;a || b 表示逻辑或,如果 a 或 b 有一个为真,则结果为真,否则为假;!a 表示逻辑非,如果 a 为真,则结果为假,否则为真]

个人思考:

go语言支持运算符与其他类型的编辑语言一致,可以无缝衔接,只需熟悉go语言变量声明和运算的基础语法即可。

需要注意的是go语言有一点区别于c、c++:go的自增运算符只有后置没有前置。即:只有a++,而无++a。 这点对于经常使用c语言的同学们来说需要注意一下。