gpt4 book ai didi

go - golang中函数参数的赋值

转载 作者:IT王子 更新时间:2023-10-29 02:06:04 24 4
gpt4 key购买 nike

Runnable on playground

type Boolean bool

func takes_bool(b bool) {
fmt.Printf("%t\n", b)
}

func takes_boolean(b Boolean) {
fmt.Printf("%t\n", b)
}

当我调用以下内容时:

takes_bool(Boolean(false))
takes_bool(Boolean(true))

我得到:

cannot use Boolean(false) (type Boolean) as type bool in function argument
cannot use Boolean(true) (type Boolean) as type bool in function argument

关于可分配性的规则似乎NOT不允许它,即至少一个不是命名类型并且两者具有相同的底层类型:

type Boolean bool

vs

bool

最佳答案

仔细阅读http://golang.org/ref/spec#Types似乎 bool 被认为是命名类型(intfloat 和 friend 也是如此)。短语“未命名类型”仅指类型文字,如 interface{}struct{}

关于go - golang中函数参数的赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22948349/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com