Golang 指针和结构体
于c语言相同,go中也有指针和结构体的概念。指针表示变量的内存地址,结构体用来存储同一类型的数据。
指针
入门程序
package main
import "fmt"
func main() {
a := 1
var p *int
p = &a
fmt.Println(p)
fmt.Println(*p)
}
定义一个指针变量,将变量a的地址赋给指针变量p。这样,指针变量p也就指向了变量a所在的内容空间。
如果是普通变量,用
&
取地址。如果是指针变量,用
*
取内容
简单写法
package main
import "fmt"
func main() {
a := 1
p := new(int)
p = &a
fmt.Println(p)
fmt.Println(*p)
}
new
函数返回一个指针变量
延伸
package main
import "fmt"
func main() {
input := new(int)
fmt.Println("please input")
fmt.Scan(input)
fmt.Println(*input)
}
fmt.scan()
就是传入一个指针变量。
结构体
入门程序
package main
import "fmt"
type Car struct {
brand string
color string
price int
}
func main() {
car1 := Car {"baoma","white",1000000}
fmt.Println(car1)
var car2 Car
car2.brand = "baoma"
car2.color = "white"
car2.price = 1000000
fmt.Println(car2)
}
两种方法都可以使用。
以上简要介绍了go语言中的指针和结构体。