go语言申明变量的方式
时间: 2024-09-26 20:05:26 浏览: 40
Golang 变量申明的三种方式
在Go语言中声明变量的方式相对直观和简洁,主要有两种基本类型的声明:
### 值类型变量(value types):
- **基本类型**:如整型(int, uint, byte, rune),浮点型(float32, float64),布尔型(bool),字符型(rune),字符串(string)等。
```go
var num int = 10 // 声明并初始化一个整数变量num
var pi float64 = 3.14 // 初始化浮点数
var isTrue bool = true // 初始化布尔值
var char rune = 'a' // 初始化字符
var str string = "hello" // 初始化字符串
```
- **复合类型**:数组([]T)、切片([]T)、映射(map[K]V)、结构体(struct)和接口(interface)。
```go
// 数组和切片
var numbers [5]int = [5]int{1, 2, 3, 4, 5} // 定义长度固定的整数数组
var nums []int = []int{10, 20, 30} // 动态大小的切片
// 结构体示例
type Person struct {
Name string
Age int
}
var person Person = Person{Name: "Alice", Age: 30}
// 映射示例
var personMap map[string]int = make(map[string]int) // 创建空的映射
personMap["name"] = 30
// 接口示例
var animal interface{} = Animal{}
```
### 引用类型(reference types):
- **指针**:`*T` 表示T类型的指针,用于间接访问内存地址。
```go
var ptr *int = new(int) // 创建一个int类型的指针
*ptr = 5 // 通过指针修改变量值
```
- **通道**(channel)用于线程间通信。
```go
ch := make(chan int) // 创建一个通道
ch <- 42 // 发送元素
```
- **接口**的实例也是一种引用类型,它可以隐式转换为实现了该接口的对象。
```go
var myCat Animal = Cat{} // Animal是一个接口,Cat实现了它
```
阅读全文