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语言中的指针和结构体。