小编Blu*_*Joy的帖子

命名返回值和正常返回值之间有什么不同?

我关于不同的命名返回值与正常返回值的问题

我的代码

package main

import "fmt"

func main() {
    f := fmt.Println
    f(a())
    f(b())
}

func a() int {
    i := 0
    defer func() {
        i += 1
        fmt.Println("a defer : ", i)
    }()

    return i
}

func b() (i int) {
    i = 0

    defer func() {
        i += 1
        fmt.Println("b defer : ", i)
    }()
    return i
}
Run Code Online (Sandbox Code Playgroud)

结果:

a函数返回0

b功能reutrn 1

为什么?

go

6
推荐指数
1
解决办法
605
查看次数

Golang与结构混淆

type Person struct {
    ID int `json:"id"`
}

type PersonInfo []Person

type PersonInfo2 [] struct {
   ID int `json:"id"`
}
Run Code Online (Sandbox Code Playgroud)

PersonInfo和PersonInfo2之间是否有区别?

arrays struct go

3
推荐指数
1
解决办法
129
查看次数

标签 统计

go ×2

arrays ×1

struct ×1