第十课 go语言函数

1 内置函数

  len() 函数可以接受不同类型参数并返回该类型的长度

  如果我们传入的是字符串则返回字符串的长度

  如果传入的是数组,则返回数组中包含的元素个数

2  自定义函数

// 函数返回单个值
func Max(a, b int) int {
    if a > b {
        return a
    } else {
        return b
    }
}

// 函数返回多个值
func Swap(a, b int) (int, int) {
    return b, a
}

 3  值传递 和 引用传递

var aa, bb int = 1, 10
    Swap2(&aa, &bb)

    fmt.Println(aa)
    fmt.Println(bb)

func Swap2(a *int, b *int) () {
    var temp int
    temp = *a
    *a = *b
    *b = temp
}

4 函数方法

  方法就是一个包含了接受者的函数,接受者可以是命名类型或者结构体类型的一个值或者是一个指针。所有给定类型的方法属于该类型的方法集

package main

import "fmt"

type Circle struct { //定义结构体
radius float64
}

func main() {
var c Circle
c.radius = 10.00
fmt.Println("Area of c is ", c.getArea()) // 可以直接调用结构体的方法

}

func (c Circle) getArea() float64 { // 这个方法是结构体的方法
return 3.14*c.radius*c.radius
}

5 函数闭包 

猜你喜欢

转载自www.cnblogs.com/liufei1983/p/9192762.html