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

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

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