]> Cypherpunks repositories - gostls13.git/commitdiff
doc/go1.1.html: introduction
authorRob Pike <r@golang.org>
Tue, 26 Mar 2013 00:41:12 +0000 (17:41 -0700)
committerRob Pike <r@golang.org>
Tue, 26 Mar 2013 00:41:12 +0000 (17:41 -0700)
R=golang-dev, adg, bradfitz
CC=golang-dev
https://golang.org/cl/7696045

doc/go1.1.html

index e8606b7065932d6a486dc75a7e797fa20b7581f3..a5ea59c97a0effd363e7ce86d0ef9b9ad751bf54 100644 (file)
@@ -6,9 +6,41 @@
 
 <h2 id="introduction">Introduction to Go 1.1</h2>
 
-TODO
- - overview
- - link back to Go 1 and also Go 1 Compatibility docs.
+<p>
+The release of <a href="/doc/go1.html">Go version 1</a> (Go 1 or Go 1.0 for short)
+in March of 2012 introduced a new period
+of stability in the Go language and libraries.
+That stability has helped nourish a growing community of Go users
+and systems around the world.
+Several "point" releases since
+then—1.0.1, 1.0.2, and 1.0.3—have been issued.
+These point releases fixed known bugs but made
+no non-critical changes to the implementation.
+</p>
+
+<p>
+This new release, Go 1.1, keeps the <a href="/doc/go1compat.html">promise
+of compatibility</a> but adds a couple of significant
+(backwards-compatible, of course) language changes, has a long list
+of (again, compatible) library changes, and
+includes major work on the implementation of the compilers,
+libraries, and run-time.
+The focus is on performance.
+Benchmarking is an inexact science at best, but we see significant,
+sometimes dramatic speedups for many of our test programs.
+We trust that many of our users' programs will also see improvements
+just by updating their Go installation and recompiling.
+</p>
+
+<p>
+This document summarizes the changes between Go 1 and Go 1.1.
+Very little if any code will need modification to run with Go 1.1,
+although a couple of rare error cases surface with this release
+and need to be addressed if they arise.
+Details appear below; see the discussion of
+<a href="#int">64-bit ints</a> and <a href="#unicode_literals">Unicode literals</a>
+in particular.
+</p>
 
 <h2 id="language">Changes to the language</h2>
 
@@ -62,7 +94,7 @@ a function literal closing over <code>w</code>:
 
 <pre>
 func (p []byte) (n int, err error) {
-       return w.Write(n, err)
+       return w.Write(p)
 }
 </pre>
 
@@ -75,7 +107,7 @@ is equivalent to a function with an extra first argument, a receiver of type
 
 <pre>
 func (w *bufio.Writer, p []byte) (n int, err error) {
-       return w.Write(n, err)
+       return w.Write(p)
 }
 </pre>
 
@@ -707,6 +739,10 @@ clearly a mistake in Go 1.0.
 Since this API change fixes a bug, it is permitted by the Go 1 compatibility rules.
 </li>
 
+<li> TODO:
+<code>net</code>: LookupNS, IPConn.ReadMsgIP, IPConn.WriteMsgIP, UDPConn.ReadMsgUDP, UDPConn.WriteMsgUDP, UnixConn.CloseRead, UnixConn.CloseWrite
+</li>
+
 <li>
 The <a href="/pkg/net/"><code>net</code></a> package includes a new function,
 <a href="/pkg/net/#DialOpt"><code>DialOpt</code></a>, to supply options to
@@ -759,10 +795,6 @@ has two new functions,
 which do ASCII-only trimming of leading and trailing spaces.
 </li>
 
-<li> TODO:
-<code>net</code>: ListenUnixgram, LookupNS, IPConn.ReadMsgIP, IPConn.WriteMsgIP, UDPConn.ReadMsgUDP, UDPConn.WriteMsgUDP, UnixConn.CloseRead, UnixConn.CloseWrite
-</li>
-
 <li>
 The new method <a href="/pkg/os/#FileMode.IsRegular"><code>os.FileMode.IsRegular</code> </a> makes it easy to ask if a file is a plain file.
 </li>