在Go 中將陣列轉換為切片
在Go 中使用陣列和切片時,可能需要在兩種資料類型之間進行轉換。當在需要不同類型輸入的函數之間傳遞資料時,這非常有用。
假設您有一個傳回位元組數組的函數:
func Foo() [32]byte { ... }
您可能需要傳遞該結果到另一個需要位元組切片的函數:
func Bar(b []byte) { ... }
如果您只是嘗試呼叫Bar(d),其中d 是Foo 傳回的數組,您會得到一個類型轉換錯誤。這是因為 Go 中數組和切片是不同的類型。
要將陣列轉換為切片,可以使用 [:] 語法。這將建立一個引用底層數組資料的切片。例如:
d := Foo() Bar(d[:])
這會將數組 d 中的資料切片傳遞給函數 Bar。切片將引用與數組相同的底層緩衝區,因此不會發生資料複製。
以上是如何將 Go 數組轉換為切片?的詳細內容。更多資訊請關注PHP中文網其他相關文章!