1、算术运算符
算术运算符:+ ,-,*,/,%,++,--,对数值类型的变量进行运算
package mainimport ("fmt"
)func main() {//算术运算符//+ - * / % ++ --//+号在golang中表示正号,可以进行相加,也可以表示字符串拼接var num1 int = +10 //正号fmt.Println(num1)var num2 int = 10 + 9 //相加fmt.Println(num2)fmt.Println("hello" + "world") //字符串拼接//-号在golang中表示负号,只能进行相减var num3 int = -10 //负号fmt.Println(num3)var num4 int = 10 - 9 //相减fmt.Println(num4)//*号在golang中表示乘法var num5 int = 10 * 9 //乘法fmt.Println(num5)// /号在golang中表示除法var num6 int = 10 / 9 //除法fmt.Println(num6)// %号在golang中表示取余var num7 int = 10 % 9 //取余fmt.Println(num7)//自增自减var num8 int = 10num8++ //自增fmt.Println(num8)num8-- //自减fmt.Println(num8)
}
2、赋值运算符
赋值运算符:=,+=,-=,*=,/=,%=,赋值运算符就是将某个运算后的值,赋给指定的变量
package mainimport ("fmt"
)func main() {//赋值运算符//=,+=,-=,*=,/=,%=var num1 int = 10num1 += 10fmt.Println(num1)num1 -= 10fmt.Println(num1)num1 *= 10fmt.Println(num1)num1 /= 10fmt.Println(num1)num1 %= 10fmt.Println(num1)
}
3、关系运算符
关系运算符:==,!=,>,<,> =,<=,关系运算符的结果都是bool型,也就是要么是true,要么是false
package mainimport ("fmt"
)func main() {//关系运算符//==,!=, >, >=, <, <=fmt.Println(100 == 100)fmt.Println(100!= 100)fmt.Println(100 > 100)fmt.Println(100 >= 100)fmt.Println(100 < 100)fmt.Println(100 <= 100)
}
4、逻辑运算符
逻辑运算符:&&(逻辑与/短路与),||(逻辑或/短路或),!(逻辑非)
package mainimport ("fmt"
)func main() {//逻辑运算符// && 与,|| 或,!非fmt.Println(true && true) // truefmt.Println(true && false) // falsefmt.Println(false && true) // falsefmt.Println(false && false) // falsefmt.Println(true || true) // truefmt.Println(true || false) // truefmt.Println(false || true) // truefmt.Println(false || false) // falsefmt.Println(!true) // falsefmt.Println(!false) // true
}
5、位运算符
package mainimport ("fmt"
)func main() {//位运算符//& 按位与运算符, ^ 按位异或运算符, | 按位或运算符//<< 左移运算符, >> 右移运算符//& 按位与运算符fmt.Println(9 & 1) // 1//^ 按位异或运算符fmt.Println(9 ^ 1) // 10//| 按位或运算符fmt.Println(9 | 1) // 9//<< 左移运算符fmt.Println(9 << 1) // 18//>> 右移运算符fmt.Println(9 >> 1) // 4
}
6、其他运算符
& :返回变量的存储地址
* :取指针变量对应的数值
package mainimport ("fmt"
)func main() {//其他运算符:& 取地址 * 根据地址取值var a int = 10var pa *int = &afmt.Println(pa) // 0xc00001a058fmt.Println(*pa) // 10*a = 90fmt.Println(a) // 90fmt.Println(*pa) // 90
}
7、运算符优先级
提高优先级,可以加()
8、获取用户终端输入
如果需要更灵活的输入处理(例如读取整行,处理特殊字符,读取空格等),可以使用 bufio
包。
package main import ( "bufio" "fmt" "os"
) func main() { reader := bufio.NewReader(os.Stdin) fmt.Println("Enter a line of text:") input, _ := reader.ReadString('\n') fmt.Printf("You entered: %s", input)
}
在这个例子中,程序使用 bufio.NewReader
创建一个读取器,然后使用 ReadString
方法读取直到换行符的所有内容。