美文网首页
go 中的结构体 匿名函数

go 中的结构体 匿名函数

作者: 蛐蛐儿阳 | 来源:发表于2020-05-02 18:53 被阅读0次

虽然代码我看懂了,比较好理解,但我还是写下笔记和代码,加深下理解。
声明一个结构体

type data struct {
    ID int
    Name string
    Address string
    MyList [...]types.Slice
    DoB time.Time
}

看下 struct 就是结构体的意思, 前方用type修饰, data是结构体名称。
结构体内只能声明变量或函数或方法名, 不能赋值。
看下面代码

type data struct {
    ID int
    Name string
    Address string
    // 切片  我记错了 [] 是切片 [...] 是数组
    MyList []string
    DoB time.Time
    //MyArray [...]string
}


func main()  {
    var d data
    d.Address = "华东区\n"
    fmt.Printf(d.Address)
    fmt.Printf("%v \n", d.DoB)

    d.MyList = []string{"a","b", "c"}
    fmt.Printf("%v \n",d.MyList)
    fmt.Printf("%T \t", d.MyList)

    p := [...]string{"a", "b", "c", "d"}
    fmt.Printf("%v", p)
}

[]是切片,[...] 这个是数组, 由于数组长度一旦声明不可变, 所以结构体里能放切片不能放数组。 因为结构体不能初始化值, 而数组声明时必须指定长度。

匿名函数的用法, 看代码


import "fmt"

// 一个词一个词解释
// func 证明是函数或方法
//add()  函数名
// func() int  复杂了, 就这  返回一个函数, 此函数返回int类型
func add()  func() int{
    var i int
    return func () int {
        i++
        return i
    }
}

func main()  {
    p := add()
    fmt.Printf("%v \n", p())
    fmt.Printf("%v \n", p())
    fmt.Printf("%v \n", p())
    fmt.Printf("%v \n", p())
}
// 返回1,2,3,4

意义:大的方法名add 付给p, 而调用 p(), 只用到了匿名函数, 初始化i并没有起作用。

相关文章

  • go 中的结构体 匿名函数

    虽然代码我看懂了,比较好理解,但我还是写下笔记和代码,加深下理解。声明一个结构体 看下 struct 就是结构体的...

  • 第04天(面对对象编程)_02

    05_结构体指针类型匿名字段.go 06_面向过程和对象函数的区别.go 07_为结构体类型添加方法.go 08_...

  • 结构体

    结构体初识 结构体指针 结构体的匿名字段 结构体嵌套 Go语言中的OOP

  • Go语言面向对象三大特性—继承

    Go语言里靠匿名结构体实现继承,嵌入到新的结构体里面。如果一个struct嵌套了另一个匿名结构体,那么这个结构体可...

  • 第04天(面对对象编程)_01

    01_匿名字段初始化.go 02_成员的操作.go 03_同名字段.go 04_非结构体匿名字段.go

  • Block 底层原理(一)

    block的本质是对象、函数、结构体。 一、block 定义 block:带有自动变量的匿名函数。 匿名函数:没有...

  • 没有函数名字的函数---匿名函数

    Go语言支持匿名函数,即在需要使用函数时再定义函数,匿名函数没有函数名只有函数体,函数可以作为一种类型被赋值给函数...

  • 你可能不知道的关于golang 的10件事情

    英文原文 匿名结构体 最常见的匿名用法,不用单独定义一个结构体类型 匿名结构体定义时并初始化 匿名结构体slice...

  • 十二月第三周

    1.swift中closure与OC中block的区别?1>、closure是匿名函数、block是一个结构体对象...

  • 最全解析Blcok

    一、何为Block? 普遍的解释是:带有自动变量(局部变量)的匿名函数。其本质是个结构体。 匿名函数 : 不带有名...

网友评论

      本文标题:go 中的结构体 匿名函数

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