diff options
author | Robert Griesemer <gri@golang.org> | 2010-05-04 17:31:40 -0700 |
---|---|---|
committer | Robert Griesemer <gri@golang.org> | 2010-05-04 17:31:40 -0700 |
commit | 3a5d39d94ad6d23f2bb091c13fc50cf4a27a0aef (patch) | |
tree | f29f876dd443e038816e9460dd4b774a0a6350e7 | |
parent | 3dab695eca135903c6dac81b8cea5d9527f8169a (diff) | |
download | golang-3a5d39d94ad6d23f2bb091c13fc50cf4a27a0aef.tar.gz |
go spec: clarification of make arguments,
specification of runtime exceptions for
make and division by zero
R=r, rsc, ken2, iant
CC=golang-dev
http://codereview.appspot.com/1081041
-rw-r--r-- | doc/go_spec.html | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/doc/go_spec.html b/doc/go_spec.html index fe592ee97..1cbab6dff 100644 --- a/doc/go_spec.html +++ b/doc/go_spec.html @@ -1,5 +1,5 @@ <!-- title The Go Programming Language Specification --> -<!-- subtitle Version of March 25, 2010 --> +<!-- subtitle Version of May 4, 2010 --> <!-- Todo @@ -2869,7 +2869,6 @@ For integer values, <code>/</code> and <code>%</code> satisfy the following rela <p> with <code>(a / b)</code> truncated towards zero. -Examples: </p> <pre> @@ -2881,6 +2880,7 @@ Examples: </pre> <p> +If the divisor is zero, a <a href="#Run_time_panics">run-time panic</a> occurs. If the dividend is positive and the divisor is a constant power of 2, the division may be replaced by a right shift, and computing the remainder may be replaced by a bitwise "and" operation: @@ -2921,6 +2921,9 @@ follows: For floating-point numbers, <code>+x</code> is the same as <code>x</code>, while <code>-x</code> is the negation of <code>x</code>. +The result of a floating-point division by zero is not specified beyond the +IEEE-754 standard; whether a <a href="#Run_time_panics">run-time panic</a> +occurs is implementation-specific. </p> <h3 id="Integer_overflow">Integer overflow</h3> @@ -4421,24 +4424,24 @@ The memory is initialized as described in the section on initial values </p> <pre class="grammar"> -make(T [, optional list of expressions]) -</pre> +Call Type T Result -<p> -For instance -</p> +make(T, n) slice slice of type T with length n and capacity n +make(T, n, m) slice slice of type T with length n and capacity m -<pre> -make(map[string] int) +make(T) map map of type T +make(T, n) map map of type T with initial space for n elements + +make(T) channel synchronous channel of type T +make(T, n) channel asynchronous channel of type T, buffer size n </pre> -<p> -creates a new map value and initializes it to an empty map. -</p> <p> -The parameters affect sizes for allocating slices, maps, and -buffered channels: +The arguments <code>n</code> and <code>m</code> must be of integer type. +A <a href="#Run_time_panics">run-time panic</a> occurs if <code>n</code> +is negative or larger than <code>m</code>, or if <code>n</code> or +<code>m</code> cannot be represented by an <code>int</code>. </p> <pre> |