美文网首页
Go学习笔记四(Map扩展)

Go学习笔记四(Map扩展)

作者: Jabir_Zhang | 来源:发表于2019-07-13 01:28 被阅读0次

    Map 与⼯厂模式

    Map 的 value 可以是一个⽅法

    m := map[int]func(op int) int{} //value是一个传入int返回int的函数方法
    m[1] = func(op int) int { return op }
    m[2] = func(op int) int { return op * op }
    m[3] = func(op int) int { return op * op * op }
    t.Log(m[1](2), m[2](2), m[3](2)) //打印结果:2 4 8 
    

    实现Set

    Go 的内置集合中没有 Set 实现, 可以 map[type]bool

    1. 元素的唯⼀性
    2. 基本操作
      1)添加元素
      2)判断元素是否存在
      3)删除元素
      4)元素个数
    mySet := map[int]bool{}
    mySet[1] = true
    n := 3
    if mySet[n] {
        t.Logf("%d is existing", n)
    } else {
        t.Logf("%d is not existing", n)
    }
    mySet[3] = true
    t.Log(len(mySet))
    delete(mySet, 1)
    n = 1
    if mySet[n] {
        t.Logf("%d is existing", n)
    } else {
        t.Logf("%d is not existing", n)
    }
    
    打印结果

    相关文章

      网友评论

          本文标题:Go学习笔记四(Map扩展)

          本文链接:https://www.haomeiwen.com/subject/nbiukctx.html