美文网首页
Go语言学习笔记-函数

Go语言学习笔记-函数

作者: noonenote | 来源:发表于2019-04-15 14:12 被阅读0次

函数

  1. 可以有多个返回值
  2. 所有参数都是值传递,slice,map,channel会有传引用的错觉
  3. 函数可以作为变量的值
  4. 函数可以作为参数和返回值
package func_test
import "testing"
import "fmt"
import "time"
import "math/rand"
func returnMultiValues()(int,int) {
        return rand.Intn(10),rand.Intn(20)
}

func TestMultiValues(t *testing.T) {
        a,b := returnMultiValues()
        t.Log(a,b)
        c,_ := returnMultiValues()
        t.Log(c)
        tsSF := timeSpent(slowFunc)
        t.Log(tsSF(10))
}

func timeSpent(inner func(op int) int) func(op int) int {
        return func(n int) int{
                start := time.Now()
                ret := inner(n)
                fmt.Println("time spent :",time.Since(start).Seconds())
                return ret;

        }

}
func slowFunc(op int) int {
        time.Sleep(time.Second * 1)
        return op
}


可变长参数

func Sum(ops ...int) int {
        ret := 0
        for _,op := range ops {
                ret += op
        }
        return ret
}

func TestVarParam(t *testing.T) {
        t.Log(Sum(1,2,3,4))
        t.Log(Sum(1,2,3,4,5))
}

延迟执行defer函数

unc Clear() {
        fmt.Println("clear resources!")
}

func TestDefer(t *testing.T) {
        defer Clear()
        fmt.Println("Start")
        panic("err")
}

相关文章

  • go 零散笔记(未整理)

    go 学习零散笔记 Go语言程序员推荐使用 驼峰式 命名 函数(func) 一个函数的声明由func关键字、函数名...

  • 笨办法学golang(三)

    这是Go语言学习笔记第三篇。 Go语言学习笔记参考书籍「Go语言圣经」以及Go官方标准库 Go语言基本类型主要有布...

  • 笨办法学golang(二)

    这是Go语言学习笔记的第二篇文章。 Go语言学习笔记参考书籍「Go语言编程」、Go官方标准库 前文提要 上篇文章中...

  • 笨办法学golang(四)

    这是Go语言学习笔记的第四篇 Go语言学习笔记参考书籍「Go语言圣经」以及Go官方标准库 数组 数组是指一系列同类...

  • Go语言学习笔记 - 函数

    函数 不支持 嵌套 (nested)、重载 (overload) 和 默认参数 (default paramete...

  • Go语言学习笔记-函数

    函数 可以有多个返回值 所有参数都是值传递,slice,map,channel会有传引用的错觉 函数可以作为变量的...

  • Go 语言极速入门

    本系列文章主要是记录《Go 语言实战》和《Google 资深工程师深度讲解 Go 语言》的学习笔记。 Go 语言极...

  • (四)go语言函数&参数传递

    go语言函数 基本语法 例子 go语言参数传递

  • Golang相关电子书

    Golang相关电子书,会不定期更新 Go语言程序设计 Go语言学习笔记.雨痕(详细书签) Go语言·云动力(云计...

  • 《GO语言圣经》学习笔记(六)函数

    知识点 bare return 如果一个函数将所有的返回值都显示的变量名,那么该函数的return语句可以省略操作...

网友评论

      本文标题:Go语言学习笔记-函数

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