zoukankan      html  css  js  c++  java
  • 9.9Go之结构体

    9.9Go之结构体

    什么是结构体

    • Go 语言通过用自定义的方式形成新的类型

    • 结构体是类型中带有成员的复合类型

    结构体和结构体成员来描述真实世界的实体和实体对应的各种属性--->有点类似"类"的概念

    Go语言结构体的特点

    • 可以被实例化,使用new&构造的类型实例的类型是类型的指针。--->非常重要

    结构体的构成

    结构体是由零个或多个任意类型的值聚合成的实体,每个值都可以称为结构体的成员。

    成员变量称为"字段"

    • 字段拥有自己的类型和值。

    • 字段名必须唯一。

    • 字段的类型也可以是结构体,甚至是字段所在结构体的类型。

    Go中的类

    • Go 语言中没有“类”的概念,也不支持“类”的继承等面向对象的概念。--->类C

    • Go 语言的结构体与“类”都是复合结构体

    • Go 语言结构体能拥有方法,且每种自定义类型也可以拥有自己的方法。--->指针指向

    定义结构体的关键字

    type将各种基本类型定义为自定义类型。基本类型包括整型、字符串、布尔等。结构体是一种复合的基本类型

    结构体定义格式:

    type 类型名称 struct{
       字段1 字段类型
       字段2 字段类型
       ...
    }

    各个部分的说明:

    • 类型名称:自定义结构体的名称。同一个包内不能重复

    • struct{}:表示结构体类型。

    • 字段:结构体中的字段名必须唯一

    • 字段类型:各个字段对应的基本类型

    示例代码:

    type point struct{
       x int
       y int
    }

    type color struct{
       R,B,G byte
    }

    结构体的定义只是一种内存布局的描述,只有当结构体实例化时,才会真正地分配内存

    章节小结:

    • 结构体是一个符合类型,里面包含了一些基本类型或者其他结构体类型的字段

    • 结构体可以实例化。使用new||&对结构体进行实例。构造的类型实例的类型是类型的指针

  • 相关阅读:
    PyQt5复杂控件(树控件、选项卡控件(滚动条控件、多文档控件、停靠控件)
    PyQt5单元格操作大全
    PyQt5打印机
    PyQt5剪切板操作
    PyQt5的菜单栏、工具栏和状态栏
    PyQt5日历控件及相关操作
    PyQt5控件支持拖拽方法
    《Lua程序设计》第3章 表达式 学习笔记
    Lua中的table构造式(table constructor)
    《Lua程序设计》第2章 类型与值 学习笔记
  • 原文地址:https://www.cnblogs.com/JunkingBoy/p/15248499.html
Copyright © 2011-2022 走看看