Golang中几种函数声明的形式

1.传入两个参数,返回一个参数

package main

import "fmt"

// 求出两个整数的和 传入两个整数类型声明为int 返回一个数值 且类型必须声名为int
func add(x, y int) int {
    return x + y
}

func main(){
    fmt.Println(add(23, 45))   // 68
}复制代码

或者

package main

import "fmt"

// 使用 := 在变量声明的同时进行赋值
// 求出两个整数的和 传入两个整数类型声明为int 返回一个数值 且类型必须声名为int
func add(x, y int) int {
    return x + y
}

func main(){
    fmt.Println(add(23, 45))   // 68
}复制代码

或者

package main

import "fmt"

// 引入返回值变量 z 
// 求出两个整数的和 传入两个整数类型声明为int 返回一个数值 且类型必须声名为int
func add(x, y int) (z int) { 
    z = x + y
    return z
}

func main(){
    fmt.Println(add(23, 45))   // 68
}复制代码

2. 传入两个值 返回两个值 

package main

import "fmt"

// 交换两个字符串 返回值为两个都需要声明
func swap(x, y string) (string, string) {
    return y, x
}

func main(){
    fmt.Println(swap("Hello", "World"))   // World Hello
}

复制代码

3. 传入一个值 返回两个值

package main

import "fmt"

func spilt(sum int) (x,y int) {
    x = sum*4/9
    y = sum - x
    return     
    // 没有参数的 return 语句返回结果的当前值。也就是`直接`返回。
    // 直接返回语句仅应当用在像下面这样的短函数中。在长的函数中它们会影响代码的可读性。
}

func main(){
    fmt.Println(spilt(17))   // 7 10
}复制代码

或者

package main

import "fmt"

func spilt(sum int) (int, int) {
    x := sum*4/9
    y := sum - x
    return x, y    
    // 没有参数的 return 语句返回结果的当前值。也就是`直接`返回。
    // 直接返回语句仅应当用在像下面这样的短函数中。在长的函数中它们会影响代码的可读性。
}

func main(){
    fmt.Println(spilt(17))   // 7 10
}

复制代码


Over !


转载于:https://juejin.im/post/5c94c8645188252d805c743e

你可能感兴趣的:(Golang中几种函数声明的形式)