package main
import "fmt"
func multipleRets() (int, int, int, int) {
return 11, 22, 33, 44
}
func main() {
// Q1
fmt.Println(multipleRets()) // This is fine.
fmt.Println(1, multipleRets()) // But this one errors.
// Q2
s1 := append([]int{}, []int{11, 22, 33, 44}...) // This is fine.
s2 := append([]int{}, multipleRets()) // But this one errors.
// Q3
lit1 := []int{11, 22, 33, 44} // This is fine.
lit2 := []int{multipleRets()} // But this one errors.
// Q4
fmt.Println(1, []int{11, 22, 33, 44}) // This is fine.
fmt.Println(1, []int{11, 22, 33, 44}...) // But this one errors.
}
上面的源代码中有 4 个错误,所有这些错误都在抱怨不能将多个元素放入函数/文字中。
但是考虑到其他示例,我真的找不到将这些错误视为错误的原因。
他们不应该没事吗?当 Go 给出类似“单值上下文中的多值”这样的错误时,这意味着什么?
这三个有害点的工作方式,这有什么意义?究竟是...做什么的?
翻过高山走不出你
相关分类