zoukankan      html  css  js  c++  java
  • GOLANG 匿名函数笔记

    在函数内部,没有名字的函数,就是匿名函数

    实现方法1:

    func main(){
        a := "我是无参无返回值的匿名函数"
       x :=  func(){
            //可以获取到匿名函数外部的变量的,包括全局的变量
            fmt.Println(a)
        }
        //调用匿名函数
        x()
    }
    

    实现方法2:

    func main(){
        a := "我是无参无返回值的匿名函数"
        func(){
            //可以获取到匿名函数外部的变量的,包括全局的变量
            fmt.Println(a)
        }
        // 如果直接这样,我go run xx.go。是会报错的。为什么呢,因为我定义了这么一个匿名函数,但是没有使用
    }
    

    实现方法2正确版:

    func main(){
        a := "我是无参无返回值的匿名函数,我通过圆括号调用"
        func(){
            //可以获取到匿名函数外部的变量的,包括全局的变量
            fmt.Println(a)
        }()
        // 注意到上面的括号了吗,这样就不会报错,括号代表我直接调用这个匿名函数
    }
    

    实现方法3:

    var (
    	gfunc = func() {
    		fmt.Println("我是全局的匿名函数")
    	}
    )
    func main(){
        gofunc()
    }
    

    匿名函数是可以传入参数的,也可以用函数类型调用,函数类型调用比较麻烦,还是:=或()比较简单粗暴

  • 相关阅读:
    简单理解OOP——面向对象编程
    SpringMVC拦截器
    Vue简洁及基本用法
    springMVC实现文件上传下载
    Python笔记⑤爬虫
    Python笔记4
    Python笔记3
    Python基础语法笔记2
    Python基础入门语法1
    Navicat连接mysql时候出现1251错误代码
  • 原文地址:https://www.cnblogs.com/ilovepan/p/10388254.html
Copyright © 2011-2022 走看看