根据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 –