根據https://play.golang.org/p/7RPExbwOEU他們都打印相同,並具有相同的長度和容量。初始化切片的三種方法有什麼區別?有沒有一種首選方式?我發現自己同時使用了make([]int, 0)
和[]int{}
。make([] int,0),[] int {}和* new([] int)有什麼區別?
3
A
回答
6
這初始化一個0長度的片。
make([]int, 0)
使用make
是初始化切片具有比長度不同的特定容量的唯一途徑。這個分配具有0長度的片,但1024
make([]int, 0, 1024)
的容量這是文字的切片,其還初始化一個0長度的片。使用此或make([]int, 0)
是完全優先。
[]int{}
這初始化了一個指針到切片,其被立即取消引用。切片本身並沒有被初始化,並仍然是零,所以這基本上是什麼都不做,而且相當於[]int(nil)
*new([]int)
相關問題
- 1. 「int * a = new int」和「int * a = new int()」有什麼區別?
- 2. int [] x;有什麼區別?和int x [];?
- 3. 新的int和new(int)之間的C++有什麼區別?
- 4. 使用int [] []和int [,]有什麼區別?
- 5. int(1)和int(8)有什麼區別?
- 6. void(int)和void(*)(int)有什麼區別?
- 7. int test [] = new int [0]是什麼意思?
- 8. swap(int&a,int&b)和swap(int * a,int * b)。有什麼區別?
- 9. SML中int - > int - > int和(int * int) - > int有什麼區別?
- 10. long unsigned int和unsigned long int有什麼區別int
- 11. int someInts [3]和int * someInts = new int [3]之間的區別?
- 12. func foo(arr [] int)int和func foo(arr [num] int)有什麼區別int
- 13. CArray <int, int>和CArray <int, int&>有何區別?
- 14. int和char數組有什麼區別?
- 15. NSUInteger myID和int myID有什麼區別?
- 16. (int)和intval()之間有什麼區別?
- 17. int和long有什麼區別?
- 18. operator ++()和operator ++(int)有什麼區別?
- 19. int和NSInteger有什麼區別?
- 20. 是什麼INT主要的區別(INT,CHAR **)和INT主(INT ARGC,字符** argv的)
- 21. 「long int a = 2」和「int a = 2L」有什麼區別?
- 22. 「const int&jj」和「int&const jj」有什麼區別?
- 23. 在Scala中Tuple2和(Int,Int)有什麼區別?
- 24. phpmyadmin中的int(1)和int(2)有什麼區別
- 25. C++:int * x [5]和int(* x)[5]之間有什麼區別?
- 26. 'int?'有什麼區別和'int'在C#中?
- 27. static int a和int a有什麼區別?
- 28. Java中的public int和int有什麼區別?
- 29. C中的「short int」和「int」有什麼區別?
- 30. C中的int * ptr和int * ptr有什麼區別?
http://stackoverflow.com/questions/28052933/how-should-i的可能的複製-define -an-empty-slice-in-go/28053182 –