Golang 指针和结构体

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • fmt格式化字符串 格式:%[旗标][宽度][.精度][arg索引]动词旗标有以下几种:+: 对于数值类型总是输出...
    皮皮v阅读 4,778评论 0 3
  • 指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; ...
    朱森阅读 8,800评论 3 44
  • 洗一个热水澡 水分子穿过思想 嘴里无意识的歌在氤氲的蒸气里 只有短短两行 一行关于低矮的门窗 一行 在一个晴朗的日...
    泰闲阅读 1,443评论 0 1
  • 2016年11月6日
    轻罗晓扇阅读 906评论 1 0
  • 2018.1.28。 重庆,冷。地点,轻轨。 最近几天,日子是在复制粘贴。每天的工作内容,生活内容,没有差别。还没...
    奔跑的倔强阅读 1,105评论 0 0