前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >go语言变参,匿名函数的多种用法

go语言变参,匿名函数的多种用法

作者头像
李海彬
发布2018-03-23 11:45:46
6530
发布2018-03-23 11:45:46
举报
文章被收录于专栏:Golang语言社区Golang语言社区

本文为博主原创文章,未经博主允许不得转载。

代码语言:javascript
复制
/**  
 * Created by Administrator on 13-12-18.  
 */  
package main  
 
import (  
    "fmt"  
    "os"  
)  
 
func f1(args ...interface {}) {  
    f2(args...)  
    f2(args[1:]...)  
}  
 
func f2(args ...interface {}) {  
    for i, v := range args {  
        fmt.Fprintf(os.Stdout, "i = %d %v\n", i, v)  
    }  
    fmt.Fprintf(os.Stdout, "--------------\n")  
}  
 
func main() {  
    f1(1, "hello", 3.14, main)  
 
    // 匿名函数 1  
    f := func(i, j int) (result int) { // f 为函数地址  
        result = i+j  
        return  
    }  
 
    fmt.Fprintf(os.Stdout, "f = %v  f(1,3) = %v\n", f, f(1, 3))  
 
    // 匿名函数 2  
    x, y := func(i, j int) (m, n int) { // x y 为函数返回值  
        return j, i  
    }(1, 9) // 直接创建匿名函数并执行  
 
    fmt.Fprintf(os.Stdout, "x = %d   y = %d\n", x, y)  
}  

i = 0 1 i = 1 hello i = 2 3.14 i = 3 0x4012c0 -------------- i = 0 hello i = 1 3.14 i = 2 0x4012c0 -------------- f = 0x401690 f(1,3) = 4 x = 9 y = 1

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-10-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Golang语言社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档