2017-07-19 53 views
1

在以下情況下是否存在訪問x.Bar[0]的簡寫?當切片爲指針時按索引訪問切片

直接嘗試導致(type *[]string does not support indexing)原因很明顯

type A struct { 
    B *[]string 
} 


x := &Foo{Bar: &[]string{"1", "2"}} 
+3

有一個指向切片的指針的原因是什麼? PS:'(* x.Bar)[0]' – zerkms

+0

我已經提取了一些更復雜的protobuf東西:) – salient

+0

相關/可能重複:[切片作爲參數傳遞的切片指針](https://stackoverflow.com/questions/38013922 /切片-A-切片指針傳入作爲參數的/ 38014097#38014097)。 – icza

回答

4

這將是

(*x.Bar)[0] 

您使用括號改變運算符的優先級:[]*更高的優先級。