zoukankan      html  css  js  c++  java
  • 9.20Go之初始化内嵌结构体

    9.20Go之初始化内嵌结构体

    内嵌结构体的初始化方法

    结构体内嵌初始化时,将结构体内嵌的类型作为字段名像普通结构体一样进行初始化

    类似匿名结构体的初始化方法,可以选择具体需要初始化的成员:

    示例代码:

    package main

    import "fmt"

    /*
    定义三个结构体
    */
    type Wheel struct {
       Size int
    }

    type Engine struct {
       Power int //功率
       Type string //类型
    }

    //结构体:车
    type Car struct {
       //内嵌结构体
       Wheel
       Engine
    }

    func main() {
       //初始化结构体Car同时初始化内嵌的结构体
       c := Car{
           //吃实话内嵌的结构体,视内嵌的结构体为成员进行初始化
           Wheel:Wheel{
               Size: 18,
          },
           //初始化另一个内嵌结构体,视为成员
           Engine:Engine{
               Power: 100,
               //可以选择成员进行初始化
          },
      }

       //打印c
       fmt.Println(c)
    }

    初始化内嵌匿名结构体

    package main

    import "fmt"

    type WheelNo2 struct {
       size int
    }

    /*
    该结构体内内嵌一个匿名结构体
    */
    type CarNo2 struct {
       WheelNo2
       //引擎
       EngineNo2 struct{
           Power int
           Type string
      }
    }

    func main() {
       //初始化最外层结构体变量
       c := CarNo2{
           WheelNo2:WheelNo2{
               22,
          },
           //因为EngineNo2是匿名内嵌结构体,所以使用初始化匿名结构体的方法
           EngineNo2: struct {
               Power int
               Type  string
          }{Power: 100, Type: "大功率"},
      }

       fmt.Println(c)
    }

     

    It's a lonely road!!!
  • 相关阅读:
    mysql
    jQuery选择器
    使用JavaScript操作DOM节点元素的常用方法(创建/删除/替换/复制等)
    MVC2.0==>MVC3.0
    sql 邮件发送测试情况
    C#调用存储过程
    设计模式
    sql 分页
    SQL Server 存储过程(转载)
    sqlitehelper封装
  • 原文地址:https://www.cnblogs.com/JunkingBoy/p/15315067.html
Copyright © 2011-2022 走看看