美文网首页
函数也是一种类型

函数也是一种类型

作者: bocsoft | 来源:发表于2018-11-12 17:02 被阅读0次
adding_func_to_func.go

package attaching_func_to_a_func

import "fmt"

//在Go中,func(函数)也是一种类型,你可以给它指定一个类型名称、增加方法
type IO func(input string)string

//给函数增加方法
func (io IO) Print(input string){
    o := io(input)

    fmt.Println("IN: ",input)
    fmt.Println("OUT: ",o)
}



adding_func_to_func_test.go
package attaching_func_to_a_func

import (
    "fmt"
    "reflect"
    "strings"
    "testing"
)

func TestFuncRun(t *testing.T){
    m := IO(func(i string) string {//函数执行逻辑
        r := strings.Replace(i, "lower", "upper", 1)
        return strings.ToUpper(r)
    })

    fmt.Println("type:",reflect.TypeOf(m))//type: attaching_func_to_a_func.IO
    m.Print("hi,this is lower case")
    /*
    输出结果:
    IN:  hi,this is lower case
   OUT:  HI,THIS IS UPPER CASE
     */
    t.Logf("Pass!")
}

相关文章

  • 【Solidity智能合约系列】03--函数类型

    函数类型(Function Types) 函数也是一种类型,且属于值类型。可以将一个函数赋值给一个函数类型的变量。...

  • golang学习笔记(五)函数

    1、书写方式 2、函数类型 函数类型也是一种数据类型,通过type起名 3、回调函数 回调函数:函数的参数是函数类...

  • Flutter学习笔记(二)

    一、函数 1.1 函数的基本定义 Dart是一种真正的面向对象语言,所以即使函数也是对象,所有也有类型, 类型就是...

  • Go基础编程---函数

    函数(无返回值) 函数(有返回值) 函数(有参有返回值) 函数类型 Go中函数也是一种类型,可以通过type 定义...

  • solidity 语法 - 函数类型

    函数类型也是值类型的一种,和C语言中的函数指针类似,用于指向一个函数,可以用于实现回掉等功能。 函数类型分为int...

  • 函数也是一种类型

  • 函数

    函数:封装 具有特定功能 的一段代码 函数也是一种数据类型,类型为function,所以一个函数函数也可以当做实参...

  • 三、Flutter-Dart语法-函数(2)

    一、函数的基本定义 Dart是一种真正的面向对象语言,所以即使函数也是对象,所以也有类型, 类型就是Functio...

  • Dart语法基础-3函数

    1.函数的基本定义 Dart是一种真正的面向对象语言,所以即使函数也是对象,所有也有类型, 类型就是Functio...

  • Dart语法 -- [03 - 函数]

    1.1. 函数的基本定义 Dart是一种真正的面向对象语言,所以即使函数也是对象,所有也有类型, 类型就是Func...

网友评论

      本文标题:函数也是一种类型

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