<!--{
"Title": "The Go Programming Language Specification",
- "Subtitle": "Version of March 24, 2017",
+ "Subtitle": "Version of April 12, 2017",
"Path": "/ref/spec"
}-->
make(T, n, m) slice slice of type T with length n and capacity m
make(T) map map of type T
-make(T, n) map map of type T with initial space for n elements
+make(T, n) map map of type T with initial space for approximately n elements
make(T) channel unbuffered channel of type T
make(T, n) channel buffered channel of type T, buffer size n
s := make([]int, 1<<63) // illegal: len(s) is not representable by a value of type int
s := make([]int, 10, 0) // illegal: len(s) > cap(s)
c := make(chan int, 10) // channel with a buffer size of 10
-m := make(map[string]int, 100) // map with initial space for 100 elements
+m := make(map[string]int, 100) // map with initial space for approximately 100 elements
</pre>
+<p>
+Calling <code>make</code> with a map type and size hint <code>n</code> will
+create a map with initial space to hold <code>n</code> map elements.
+The precise behavior is implementation-dependent.
+</p>
+
<h3 id="Appending_and_copying_slices">Appending to and copying slices</h3>