zoukankan      html  css  js  c++  java
  • struct{} //长篇更新

    结构体类型

    和其它类型相似,结构体也有一个原生类型(习惯这种称法)
    比如,接口类型interface{},字符切片类型[]byte,原生的struct类型为struct{}

    定义类型

    在实际运用中,一般使用type来定义,比如:

    type Person struct{
        age int
    }

    除此外还有一种类型,声明的同时进行定义,形式如下:

    var person=struct{
        age int
    }{
        20,
    }

    struct{}{}

    如果结构体没有任何成员,就是一个空结构体,于是可以写成:
    var person=struct{}{},这种形式根据上面的例子进行推导,理解会加深一些

    因此,对于原生的struct{}来说,可以有下面的样式:
    client:=make(map[string]struct{})
    client["dev1"]=struct{}{}

    这种写法按照一般说法就是不占内存,只起一个索引作用,判断key是否存在,完整代码如下:

    /*
        struct{}{}的运用,只起索引作用
     */
    func main() {
        client := make(map[string]struct{})
        client["dev1"] = struct{}{}
        if _, ok := client["dev1"]; ok {
            fmt.Println("dev1 exist")
        }
    }
  • 相关阅读:
    运算符优先级问题
    文件操作工具,需者自取
    Text文档编码识别方法
    删除重复文件的程序
    修道士和野人问题
    猜数字游戏
    存储器层级图
    IL指令汇总
    输入1~8,每个数字不重复
    厦门大学线下编程比赛第一题:求和
  • 原文地址:https://www.cnblogs.com/tinaluo/p/14528591.html
Copyright © 2011-2022 走看看