go语言基本语法(二)
Go语言的基本数据类型
bool类型:用于表示布尔值,取值为true或false。
数字类型: int8, int16, int32, int64:分别表示8位、16位、32位、64位有符号整数类型。
uint8, uint16, uint32, uint64:分别表示8位、16位、32位、64位无符号整数类型。
float32, float64:分别表示32位、64位浮点数类型。
complex64, complex128:分别表示64位、128位复数类型。
字符串类型:用于表示字符串,由双引号或反引号括起来。
数组类型:用于表示固定长度的同类型元素的序列。
切片类型:用于表示可变长度的同类型元素的序列。
映射类型:用于表示一组键值对的集合。
结构体类型:用于表示一组具有不同类型的字段的集合。
接口类型:用于表示一组方法签名的集合。使用这些基本数据类型可以定义变量、常量和函数参数,进行算术运算、逻辑运算和位运算等操作。例如:
var a int = 10
var b float64 = 3.14
var c string = "hello"
var d [3]int = [3]int{1, 2, 3}
var e []int = []int{4, 5, 6}
var f map[string]int = map[string]int{"a": 1, "b": 2}
var g struct{ name string; age int } = struct{ name string; age int }{"Tom", 20}
func add(x, y int) int {
return x + y
}
fmt.Println(add(a, int(b))) // 输出:13
fmt.Println(c + " world") // 输出:hello world
fmt.Println(d[0] + e[1]) // 输出:7
fmt.Println(f["a"] + f["b"]) // 输出:3
fmt.Println(g.name) // 输出:Tom
类型转换
在 Go 语言中,基本数据类型之间的转换可以使用强制类型转换(Type Conversion)来实现。以下是一些基本数据类型之间的转换示例:
-
将整型转换为浮点型
var i int = 42 var f float64 = float64(i)
-
将浮点型转换为整型
var f float64 = 3.14 var i int = int(f)
-
将整型转换为字符串
var i int = 42 var s string = strconv.Itoa(i)
-
将字符串转换为整型
var s string = "42" var i int, err = strconv.Atoi(s) if err != nil { // 处理错误 }
-
将字符串转换为浮点型
var s string = "3.14" var f float64, err = strconv.ParseFloat(s, 64) if err != nil { // 处理错误 }
注意:在进行类型转换时,需要注意数据类型的范围和精度,避免数据丢失或溢出。同时,需要对转换过程中可能出现的错误进行处理。
运算符
Go语言中支持的运算符有以下几种:
-
算术运算符:用于数值的加、减、乘、除、取余等运算。例如:
+ // 加法 - // 减法 * // 乘法 / // 除法 % // 取余
-
关系运算符:用于比较两个值的大小关系,返回一个布尔值。例如:
== // 等于 != // 不等于 < // 小于 > // 大于 <= // 小于等于 >= // 大于等于
-
逻辑运算符:用于逻辑运算,返回一个布尔值。例如:
&& // 逻辑与 || // 逻辑或 ! // 逻辑非
-
位运算符:用于对二进制位进行操作,包括按位与、按位或、按位异或等。例如:
& // 按位与 | // 按位或 ^ // 按位异或 << // 左移 >> // 右移
-
赋值运算符:用于将一个值赋给一个变量,包括简单赋值、加减乘除赋值等。例如:
= // 简单赋值 += // 加法赋值 -= // 减法赋值 *= // 乘法赋值 /= // 除法赋值 %= // 取余赋值 &= // 按位与赋值 |= // 按位或赋值 ^= // 按位异或赋值 <<= // 左移赋值 >>= // 右移赋值
-
其他运算符:包括取地址运算符、指针运算符、条件运算符等。例如:
& // 取地址运算符 * // 指针运算符 ? : // 条件运算符
-