Go 语言的基础语法包括以下几个方面(续):
-
- 运算符:Go 语言支持多种运算符,包括算术运算符(如
+,-,*,/,%等),比较运算符(如==,!=,<,>,<=,>=等),逻辑运算符(如&&,||,!等),位运算符(如&,|,^,<<,>>等),赋值运算符(如=,+=,-=等)和特殊运算符(如++,--,&,*,<-,...,.等)。运算符的优先级和结合性遵循数学惯例和 C 语言的规则。例如:
- 运算符:Go 语言支持多种运算符,包括算术运算符(如
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语言的同学们来说需要注意一下。