请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

type使用

type iAdder func(int) (int, iAdder)

老师 这种写法相当于go语言中的 别名? iAdder 其实就是后面 函数的别名,简称。使用iAddr 来代替函数更方便一点?

正在回答 回答被采纳积分+3

1回答

ccmouse 2020-01-12 11:45:43

别名还是定义只是不同的说法。从语言本身来说,这个的确可以认为是别名,可以用iAddr来代替这个长的函数写法。但从业务逻辑角度,我们这个函数非常重要,所以我们要把它做成一个特别的类型,名称叫iAddr

0 回复 有任何疑惑可以回复我~
  • 老师,这个type感觉是万能的。什么都可以定义吗 什么结构体 接口那些都可以定义,还可以定义方法。。你这样写,和 func iAdder(int) (int, iAdder){} 有什么区别吗?
    回复 有任何疑惑可以回复我~ 2021-06-22 18:01:27
  • type就是定义自定义类型的。当然它可以定义结构体,接口,以及函数类型。
    这里我定义了一个自定义函数类型。所有符合func(int) (int, iAdder)的函数都认为是iAdder类型。但是在type这里不需要也不可以有实现。
     func iAdder(int) (int, iAdder){} 这里只是一个具体的函数的实现。可以认为是上述iAdder类型的一个实例。
    
    就好像其它语言中,“类”是一个类型,“类”可以有很多实例一样。
    回复 有任何疑惑可以回复我~ 2021-06-27 11:31:03
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信