我可以全局定义一个函数,
func f()int{
return 0
}
但我也可以做主,
func main(){
var f=func()int{
return 0
}
}
接收方法可以这样做吗?我可以在全球范围内做,
type I int
func(i I)f()int{
return int(i)
}
但是我也可以在main中这样做,因此(因为这不起作用)
func main(){
type I int
var f=func(i I)()int{
return 0
}
}
答案 0 :(得分:1)
不,不是那样,
但是就像这个工作示例代码一样,您仍然可以使用f
:
package main
import "fmt"
func main() {
j := I(2)
fmt.Println(j.Double())
f := j.Double
fmt.Println(f())
}
type I int
func (i I) Double() int {
return int(i) * 2
}
输出:
4
4