zoukankan      html  css  js  c++  java
  • 函数的数据类型及本质

    函数的数据类型及本质

    1. 函数类型
    func t1(){}  //数据类型 func()
    func t2(p int) int {return } //数据类型 func(int)int
    //画外音:定义的函数可以作为一种数据类型 ,就如切片那样
    
    1. 函数本质

      func fun1(a,b int){}
      

      1. 创建函数时,先创建一块内存空间,在内存中存储函数体,函数名fun1存储这块空间的地址(引用类型)。

      2. fmt.Println(fun1) 打印出函数fun1的内存地址

      3. fun1(1,2) 调用执行函数体内容

        画外音:fun1与fun1()有本质的不同

    2. 直接定义一个函数类型变量

      var f func(int,int)
      fmt.Println(f)  //nil 从侧面证明函数类型是引用类型
      
      res1 := t2 //将函数t2(函数地址)赋值给变量res1,res1和t2指向同一个函数体
      //也可以使用res1进行函数调用
      res2 := t2(1) //将函数t2函数进行调用,将函数的执行结果赋值给res2
      
    3. 总结

      1. 函数作为一中复合数据类型,可以看作一种特殊的变量
      2. 函数名():将函数进行调用,函数中的代码会全部执行,然后将return结果返回给调用者
      3. 函数名:指向函数体的内存地址,指针,引用类型
  • 相关阅读:
    int是逻辑炸弹吗?
    悲剧
    下班啦
    Android SDK 2.2 开发环境安装
    MVC
    用于主题检测的临时日志(61d47e0cd5874842a9f56a725c1f25f6 3bfe001a32de4114a6b44005b770f6d7)
    ASP.NET读取XML文件
    asp.net执行顺序
    理解POCO
    乐观中谨慎 招聘调薪现"贫富差距"
  • 原文地址:https://www.cnblogs.com/henryno12/p/12594807.html
Copyright © 2011-2022 走看看