有人可以幫助我了解以下情況嗎?有一個(gè)自定義類型type Foo string這個(gè)建筑工程:var foo Foo = "foo"fmt.Printf("\n%s", foo)還有這個(gè):var bar = "bar"var foo Foo = barfmt.Printf("\n%s", foo)拋出一個(gè)有cannot use bar (variable of type string) as type Foo in variable declaration.什么區(qū)別以及如何正確初始化此類型?謝謝??
2 回答

POPMUISE
TA貢獻(xiàn)1765條經(jīng)驗(yàn) 獲得超5個(gè)贊
讓我更正這個(gè)
var bar = "bar"
var foo Foo = Foo(bar)
fmt.Printf("\n%s", foo)
要不就
var foo = Foo(bar)

Smart貓小萌
TA貢獻(xiàn)1911條經(jīng)驗(yàn) 獲得超7個(gè)贊
最后一個(gè)不起作用,因?yàn)?Go 具有強(qiáng)大的類型檢查;此外,如果Foo具有string基本類型,則它不是string.
因此,您不能為其分配字符串。
要實(shí)現(xiàn)你想要的,你必須進(jìn)行鑄造
func main() {
var a = "hello"
var b Foo
b = Foo(a)
fmt.Println("b:", b)
}
- 2 回答
- 0 關(guān)注
- 87 瀏覽
添加回答
舉報(bào)
0/150
提交
取消