我相信 Go 規范存在一個小問題。以下抱怨數組文字不可尋址: print([4]int{2,3}[:2])我知道為什么從函數返回的數組是不可尋址的(例如錯誤尋址函數的返回切片),但為什么數組字面量像[4]int{2,3}不可尋址?特別是當切片和字符串文字是 - 例如這些工作正常: print([]int{2,3,0,0}[:2]) print("2300"[:2])此外,數組文字似乎是可尋址的,因為&[4]int{42,43}它是一個有效的表達式。我知道我可以用一片 print([]int{2,3,0,0}[:2])但是,如果我希望容量(數組長度)成為編譯時常量怎么辦。 const maxLength = 4 ... print([maxLength]int{2,3}[:2])是的,我可以分配給一個臨時數組變量,但我為什么需要呢?
切片數組文字
慕無忌1623718
2022-05-18 09:34:20