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