mirror of
https://github.com/golang/go
synced 2024-11-26 03:17:57 -07:00
doc/go1.1.html: blockprofile, method values, ListenUnixgram, etc.
R=golang-dev, gri CC=golang-dev https://golang.org/cl/7496051
This commit is contained in:
parent
8b6d501704
commit
bfeb79bae5
@ -48,7 +48,39 @@ See the <a href="#unicode">Unicode</a> section for more information.
|
|||||||
<h3 id="method_values">Method values</h3>
|
<h3 id="method_values">Method values</h3>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
TODO
|
Go 1.1 now implements
|
||||||
|
<a href="/ref/spec#Method_values">method values</a>,
|
||||||
|
which are functions that have been bound to a specific receiver value.
|
||||||
|
For instance, given a
|
||||||
|
<a href="/pkg/bufio/#Writer"><code>Writer</code></a>
|
||||||
|
value <code>w</code>,
|
||||||
|
the expression
|
||||||
|
<code>w.Write</code>,
|
||||||
|
a method value, is a function that will always write to <code>w</code>; it is equivalent to
|
||||||
|
a function literal closing over <code>w</code>:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
func (p []byte) (n int, err error) {
|
||||||
|
return w.Write(n, err)
|
||||||
|
}
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Method values are distinct from method expressions, which generate functions
|
||||||
|
from methods of a given type; the method expression <code>(*bufio.Writer).Write</code>
|
||||||
|
is equivalent to a function with an extra first argument, a receiver of type
|
||||||
|
<code>(*bufio.Writer)</code>:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
func (w *bufio.Writer, p []byte) (n int, err error) {
|
||||||
|
return w.Write(n, err)
|
||||||
|
}
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<em>Updating</em>: No existing code is affected; the change is strictly backward-compatible.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<h3 id="return">Return requirements</h3>
|
<h3 id="return">Return requirements</h3>
|
||||||
@ -88,10 +120,6 @@ Such code can be identified by <code>go vet</code>.
|
|||||||
|
|
||||||
<h2 id="impl">Changes to the implementations and tools</h2>
|
<h2 id="impl">Changes to the implementations and tools</h2>
|
||||||
|
|
||||||
<p>
|
|
||||||
TODO: more
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<h3 id="gc_flag">Command-line flag parsing</h3>
|
<h3 id="gc_flag">Command-line flag parsing</h3>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
@ -193,7 +221,7 @@ some editors add them as a kind of "magic number" identifying a UTF-8 encoded fi
|
|||||||
<em>Updating</em>:
|
<em>Updating</em>:
|
||||||
Most programs will be unaffected by the surrogate change.
|
Most programs will be unaffected by the surrogate change.
|
||||||
Programs that depend on the old behavior should be modified to avoid the issue.
|
Programs that depend on the old behavior should be modified to avoid the issue.
|
||||||
The byte-order-mark change is strictly backwards-compatible.
|
The byte-order-mark change is strictly backward-compatible.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<h3 id="gc_asm">The gc assemblers</h3>
|
<h3 id="gc_asm">The gc assemblers</h3>
|
||||||
@ -206,7 +234,9 @@ to adjust frame pointer offsets.
|
|||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
TODO: Point to cmd/vet once it handles this.
|
<em>Updating</em>:
|
||||||
|
The <code>go vet</code> command now checks that functions implemented in assembly
|
||||||
|
match the Go function prototypes they implement.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<h3 id="gocmd">Changes to the go command</h3>
|
<h3 id="gocmd">Changes to the go command</h3>
|
||||||
@ -251,6 +281,8 @@ warning: GOPATH set to GOROOT (/home/User/go) has no effect
|
|||||||
package code.google.com/p/foo/quxx: cannot download, $GOPATH must not be set to $GOROOT. For more details see: go help gopath
|
package code.google.com/p/foo/quxx: cannot download, $GOPATH must not be set to $GOROOT. For more details see: go help gopath
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
|
<h3 id="gotest">Changes to the go test command</h3>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
The <code>go test</code> command no longer deletes the binary when run with profiling enabled,
|
The <code>go test</code> command no longer deletes the binary when run with profiling enabled,
|
||||||
to make it easier to analyze the profile.
|
to make it easier to analyze the profile.
|
||||||
@ -265,7 +297,20 @@ $ go test -cpuprofile cpuprof.out mypackage
|
|||||||
the file <code>mypackage.test</code> will be left in the directory where <code>go test</code> was run.
|
the file <code>mypackage.test</code> will be left in the directory where <code>go test</code> was run.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<h3 id="gofix">Changes to go fix</h3>
|
<p>
|
||||||
|
The <code>go test</code> command can now generate profiling information
|
||||||
|
that reports where goroutines are blocked, that is,
|
||||||
|
where they tend to stall waiting for an event such as a channel communication.
|
||||||
|
The information is presented as a
|
||||||
|
<em>blocking profile</em>
|
||||||
|
enabled with the
|
||||||
|
<code>-blockprofile</code>
|
||||||
|
option of
|
||||||
|
<code>go test</code>.
|
||||||
|
Run <code>go help test</code> for more information.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h3 id="gofix">Changes to the go fix command</h3>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
The <a href="/cmd/fix/"><code>fix</code></a> command, usually run as
|
The <a href="/cmd/fix/"><code>fix</code></a> command, usually run as
|
||||||
@ -408,14 +453,6 @@ only <code>T</code>.
|
|||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h3 id="runtime">runtime</h3>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
TODO:
|
|
||||||
<code>runtime</code>: BlockProfile
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<h3 id="time">time</h3>
|
<h3 id="time">time</h3>
|
||||||
<p>
|
<p>
|
||||||
On FreeBSD, Linux, NetBSD, OS X and OpenBSD, previous versions of the
|
On FreeBSD, Linux, NetBSD, OS X and OpenBSD, previous versions of the
|
||||||
@ -643,6 +680,18 @@ has a new method for its
|
|||||||
to define the boundary separator used to package the output.
|
to define the boundary separator used to package the output.
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li>
|
||||||
|
The
|
||||||
|
<a href="/pkg/net/"><code>net</code></a> package's
|
||||||
|
<a href="/pkg/net/ListenUnixgram/"><code>net/ListenUnixgram</code></a>
|
||||||
|
function has changed return types: it now returns a
|
||||||
|
<a href="/pkg/net/UnixConn/"><code>net/UnixConn</code></a>
|
||||||
|
rather than a
|
||||||
|
<a href="/pkg/net/UDPConn/"><code>net/UDPConn</code></a>, which was
|
||||||
|
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>
|
<li>
|
||||||
The new <a href="/pkg/net/http/cookiejar/">net/http/cookiejar</a> package provides the basics for managing HTTP cookies.
|
The new <a href="/pkg/net/http/cookiejar/">net/http/cookiejar</a> package provides the basics for managing HTTP cookies.
|
||||||
</li>
|
</li>
|
||||||
@ -748,6 +797,16 @@ and
|
|||||||
<a href="/pkg/html/template/"><code>html/template</code></a> packages,
|
<a href="/pkg/html/template/"><code>html/template</code></a> packages,
|
||||||
templates can now use parentheses to group the elements of pipelines, simplifying the construction of complex pipelines.
|
templates can now use parentheses to group the elements of pipelines, simplifying the construction of complex pipelines.
|
||||||
TODO: Link to example.
|
TODO: Link to example.
|
||||||
|
Also, as part of the new parser, the
|
||||||
|
<a href="/pkg/text/template/parse/#Node"><code>Node</code></a> interface got two new methods to provide
|
||||||
|
better error reporting.
|
||||||
|
Although this violates the Go 1 compatibility rules,
|
||||||
|
no existing code should be affected because this interface is explicitly intended only to be used
|
||||||
|
by the
|
||||||
|
<a href="/pkg/text/template/"><code>text/template</code></a>
|
||||||
|
and
|
||||||
|
<a href="/pkg/html/template/"><code>html/template</code></a>
|
||||||
|
packages and there are safeguards to guarantee that.
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li>
|
<li>
|
||||||
|
Loading…
Reference in New Issue
Block a user