Go函数

作者: MrSYLong | 来源:发表于2018-08-29 23:25 被阅读5次
package main

import "fmt"

func eval(a, b int, op string) (int, error) {
    switch op {
    case "+":
        return a + b, nil
    case "-":
        return  a - b, nil
    case "*":
        return  a * b, nil
    case "/":
        // r不使用
        q, _ := divTwo(a, b)
        return q, nil
    default:
        return 0, fmt.Errorf("unsuported operation: %s", op)
    }
}

// 13 / 3 = 4 ... 1
func div(a, b int) (int, int) {
    return a / b, a % b
}

func divTwo(a, b int) (q, r int) {
    return a / b, a % b
}

func divThree(a, b int) (q, r int) {
    q = a / b
    r = a % b
    return
}

// 可变参数列表
func sum(numbers ...int) int {
    s := 0
    for i := range numbers {
        s += numbers[i]
    }
    return s
}

// 返回值类型写在最后面 
// 函数可以返回多个值
// 函数返回多个值时可以起名字
// 仅用于非常简单的函数
// 对于调用者而言没有区别

func main() {
    if reslut, err := eval(3, 4, "x"); err != nil {
        fmt.Println("Error:", err)
    } else  {
        fmt.Println(reslut)
    }

    fmt.Println(div(13, 3))

    q, r := divTwo(13, 3)
    fmt.Println(q, r)

    fmt.Println(sum(1, 2, 3, 4, 5))
}

相关文章

  • 三、Go的函数

    三、Go的函数 Go语言最少有一个main()函数。 1、Go的函数定义: 2、函数参数 函数如果使用参数,该变量...

  • 第02天(函数、工程管理)_03

    11_函数类型.go 12_回调函数.go 13_匿名函数和闭包.go 14_闭包捕获外部变量的特点.go 15_...

  • Golang学习笔记-函数

    Go函数定义格式如下: 例如: Go可以很灵活的创建函数,并作为另外一个函数的实参: Go支持匿名函数,可作为闭包...

  • golang系列教程

    Go包管理 Go开发工具 Go Doc 文档 Go 数组 Go 切片 Go Map Go 类型 Go 函数方法 G...

  • 第03天(复合类型)_03

    13_数组做函数参数.go 14_数组指针做函数参数.go 15_切片的长度和容量.go 16_切片的创建.go ...

  • 09-Go语言函数

    函数 Go语言函数格式func 函数名称(形参列表)(返回值列表){函数语句} Go语言函数的类型没有返回值没有形...

  • C 调用 Go 函数

    我们之前已经让 Go 调用 C 函数,但有些场景下需要 C 来调用Go函数。 Go 使用 export 关键字导出...

  • go语言之goroutine

    goroutine 当go 语句执行的时候,其中的go函数会被单独放到一个goroutine中,在这之后该go函数...

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

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

  • 第02天(函数、工程管理)_02

    06_多个返回值.go 07_有参有返回值.go 08_普通函数的调用流程.go 09_函数递归调用的流程.go ...

网友评论

      本文标题:Go函数

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