函数作为变量,类型---golang
2012-11-01 16:08
555 查看
在go中函数也是一种变量,我们通过type定义这种变量的类型。拥有相同参数和相同返回值的函数属于同一种类型。
通过将函数作为一种类型的变量,我们可以将这种类型的函数作为值传递。
下面是一个简单的例子。
通过将函数作为一种类型的变量,我们可以将这种类型的函数作为值传递。
下面是一个简单的例子。
type functinTyoe func(int) bool // 声明了一个函数类型 func isOdd(integer int) bool { if integer%2 == 0 { return false } return true } func isEven(integer int) bool { if integer%2 == 0 { return true } return false } // 声明的函数类型在这个地方当做了一个参数 func filter(slice []int, f functinTyoe) []int { var result []int for _, value := range slice { if f(value) { result = append(result, value) } } return result } func test(){ slice := []int {1, 2, 3, 4, 5, 7} fmt.Println("slice = ", slice) odd := filter(slice, isOdd) // 函数当做值来传递了 fmt.Println("Odd elements of slice are: ", odd) even := filter(slice, isEven) // 函数当做值来传递了 fmt.Println("Even elements of slice are: ", even) }
相关文章推荐
- golang 函数作为类型
- cgic中常用的函数和变量以及返回类型 (可作为工具查询)
- C语言技巧【枚举作为函数变量类型】【数据输入与输出】【do while循环体内scanf函数被跳过,循环结束】【用const修饰函数的参数】
- 【GoLang】函数作为 类型 和 值
- 关于空指针类型的类变量的成员函数访问的问题
- C++编程中将引用类型作为函数参数的方法指南
- Kotlin学习(二)—— 基本语法,函数,变量,字符串模板,条件表达式,null,类型检测,for,while,when,区间,集合
- C#委托本质探索 七、方法变量作为函数参数传递
- 类作为其自身成员函数参数时的类型
- CUDA1.1-函数类型限定符与变量类型限定符
- JavaScript基础语法:数据类型、变量、控制结构、函数、表达式
- 函数也是一种变量类型
- PHP - Manual手册 - 函数参考 - Variable 变量函数 - settype设置变量的类型
- 结构体变量和结构体指针变量作为函数参数传递的问题
- 使用交换函数交换两个变量的值(以int类型为例)的错误用法以及正确用法
- 浅谈c语言的变量与函数存储类型
- 问题(怎样在dephi中引用.net中定义的类.方法参数,参数类型为XMLdocument?我要调用此方法并把实例花的xmldocument类型的变量作为参数给它。)
- 【lua 关键字、变量类型、操作符、控制语句、函数】
- C++中class与struct的区别(struct的类型名同时可以作为变量名)
- 【MFC学习笔记2】MFC中的数据类型,全局变量,全局函数和宏。