Golang之struct

1.用来定义复杂数据结构

2.struct里面可以包含多个字段(属性)

3.struct类型可以定义方法,注意和函数的区分。

4.struct类型是值类型

5.struct类型可以嵌套

6.Go语言没有class类型,只有struct类型

package main

import "fmt"

//声明结构体
type Student struct {
    Name  string
    Age   int
    Score int
}

func main() {
    //struct字段访问,使用“点”访问
    var stu Student
    stu.Name = "yuchao"
    stu.Age = 18
    stu.Score = 99
    fmt.Printf("name=%s age=%d scrore=%d", stu.Name, stu.Age, stu.Score)
}

定义struct的三种形式:

package main

import "fmt"

//声明结构体
//字段名和函数名一样,首字母大写,在包外可以访问
type Student struct {
    Name  string
    Age   int
    Score float32
}

func main() {
    //struct字段访问,使用“点”访问
    var stu Student
    //var stu *Student = new(Student)
    //var stu *Student = &Student{ }
    stu.Name = "yuchao"
    stu.Age = 18
    stu.Score = 99
    //fmt.Println(stu) //默认结构 {yuchao 18 99.1}
    //fmt.Printf("name=%s age=%d scrore=%d", stu.Name, stu.Age, stu.Score)

    var stu1 *Student = &Student{
        Age:  20,
        Name: "chao",
    }

    var stu3 = Student{
        Age:  20,
        Name: "hua",
    }

    fmt.Println(stu1)
    fmt.Println(stu3.Name)
    fmt.Printf("Name:%p\n", &stu.Name)
    fmt.Printf("age:%p\n", &stu.Age)
    fmt.Printf("score:%p\n", &stu.Score)
}
var stu Student
var stu *Student = new(Student)
var stu *Student = &Student{ }

struct的内存布局,struct中的所有字段在内存是连续的,布局如下:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏积累沉淀

DOM解析

Dom解析是将xml文件全部载入,组装成一颗dom树,然后通过节点以及节点之间的关系来解析xml文件 根据 DOM,XML 文档中的每个成分都是一个节点。 ...

2029
来自专栏Golang语言社区

浅谈Go语言中的结构体struct & 接口Interface & 反射

结构体struct struct 用来自定义复杂数据结构,可以包含多个字段(属性),可以嵌套;

2274
来自专栏行者常至

010.golang 结构struct

882
来自专栏coder修行路

Go基础之--排序和查找操作

排序操作主要都在sort包中,导入就可以使用了 import("sort") 常用的操作 sort.Ints:对整数进行排序 sort.Strings:对字符串...

3469
来自专栏流柯技术学院

Java Selenium封装--RemoteWebElement

2512
来自专栏Golang语言社区

Go语言struct类型详解

struct Go语言中,也和C或者其他语言一样,我们可以声明新的类型,作为其它类型的属性或字段的容器。例如,我们可以创建一个自定义类型person代表一个人的...

35912
来自专栏LeetCode

LeetCode 832. Flipping an Image

Given a binary matrix A, we want to flip the image horizontally, then invert it,...

370
来自专栏Hongten

python开发_python中字符串string操作

在python中,对于字符串string的操作,我们有必要了解一下,这样在我们的以后的开发中会给我们带来很多方便

1113
来自专栏Golang语言社区

Go语言struct类型详解

struct Go语言中,也和C或者其他语言一样,我们可以声明新的类型,作为其它类型的属性或字段的容器。例如,我们可以创建一个自定义类型person代表一个人的...

3027
来自专栏你不就像风一样

详解JSOUP的Select选择器语法

可以使用Element.select(String selector) 和 Elements.select(String selector) 方法实现:

1052

扫码关注云+社区

领取腾讯云代金券