mirror of
https://github.com/golang/go
synced 2024-11-21 12:44:40 -07:00
release.2010-09-29
R=golang-dev, nigeltao_gnome CC=golang-dev https://golang.org/cl/2329041
This commit is contained in:
parent
6b2c7ffbab
commit
ab5b4283f7
1
.hgtags
1
.hgtags
@ -31,4 +31,3 @@ db904d88dc0ebf6ee5b55e44088915695c1223ee release.2010-07-29
|
||||
92fcf05736e8565a485adc52da1894270e06ed09 release.2010-09-06
|
||||
9329773e204fed50ec686ee78cc715b624bf1b1d release.2010-09-15
|
||||
1eec33c03bceef5d7607ea4636185f7bf773e0e4 release.2010-09-22
|
||||
1eec33c03bceef5d7607ea4636185f7bf773e0e4 release
|
||||
|
@ -5,6 +5,90 @@
|
||||
<p>This page summarizes the changes between tagged releases of Go.
|
||||
For full details, see the <a href="http://code.google.com/p/go/source/list">Mercurial change log</a>.</p>
|
||||
|
||||
<h3 id="2010-09-29">2010-09-29</h3>
|
||||
|
||||
<pre>
|
||||
This release includes some minor language changes and some significant package
|
||||
changes. You may need to change your code if you use ...T parameters or the
|
||||
http package.
|
||||
|
||||
The semantics and syntax of forwarding ...T parameters have changed.
|
||||
func message(f string, s ...interface{}) { fmt.Printf(f, s) }
|
||||
Here, s has type []interface{} and contains the parameters passed to message.
|
||||
Before this language change, the compiler recognized when a function call
|
||||
passed a ... parameter to another ... parameter of the same type, and just
|
||||
passed it as though it was a list of arguments. But this meant that you
|
||||
couldn't control whether to pass the slice as a single argument and you
|
||||
couldn't pass a regular slice as a ... parameter, which can be handy. This
|
||||
change gives you that control at the cost of a few characters in the call.
|
||||
If you want the promotion to ..., append ... to the argument:
|
||||
func message(f string, s ...interface{}) { fmt.Printf(f, s...) }
|
||||
Without the ..., s would be passed to Printf as a single argument of type
|
||||
[]interface{}. The bad news is you might need to fix up some of your code,
|
||||
but the compiler will detect the situation and warn you.
|
||||
|
||||
Also, the http.Handler and http.HandlerFunc types have changed. Where http
|
||||
handler functions previously accepted an *http.Conn, they now take an interface
|
||||
type http.ResponseWriter. ResponseWriter implements the same methods as *Conn,
|
||||
so in most cases the only change required will be changing the type signature
|
||||
of your handler function's first parameter. See:
|
||||
http://golang.org/pkg/http/#Handler
|
||||
|
||||
The utf8 package has a new type, String, that provides efficient indexing
|
||||
into utf8 strings by rune (previously an expensive conversion to []int
|
||||
was required). See:
|
||||
http://golang.org/pkg/utf8/#String
|
||||
|
||||
The compiler will now automatically insert a semicolon at the end of a file if
|
||||
one is not found. This effect of this is that Go source files are no longer
|
||||
required to have a trailing newline.
|
||||
|
||||
Other changes:
|
||||
* 6prof: more accurate usage message.
|
||||
* archive/zip: new package for reading Zip files.
|
||||
* arm: fix code generation, 10 more package tests pass.
|
||||
* asn1: make interface consistent with json.
|
||||
* bufio.UnreadRune: fix bug at EOF.
|
||||
* build: clear custom variables like GREP_OPTIONS,
|
||||
silence warnings generated by ubuntu gcc,
|
||||
use full path when compiling libraries.
|
||||
* bytes, strings: change lastIndexFunc to use DecodeLastRune (thanks Roger Peppe).
|
||||
* doc: add to and consolidate non-english doc references,
|
||||
consolidate FAQs into a single file, go_faq.html,
|
||||
updates for new http interface.
|
||||
* fmt/Printf: document and tweak error messages produced for bad formats.
|
||||
* gc: allow select case expr = <-c,
|
||||
eliminate duplicates in method table,
|
||||
fix reflect table method receiver,
|
||||
improve error message for x \= 0.
|
||||
* go/scanner: treat EOF like a newline for purposes of semicolon insertion.
|
||||
* gofmt: stability improvements.
|
||||
* gotest: leave _testmain.go for "make clean" to clean up.
|
||||
* http: correct escaping of different parts of URL,
|
||||
support HTTP/1.0 Keep-Alive.
|
||||
* json: do not write to unexported fields.
|
||||
* libcgo: don't build for NaCl,
|
||||
set g, m in thread local storage for windows 386 (thanks Wei Guangjing).
|
||||
* math: Fix off-by-one error in Ilogb and Logb. (thanks Charles L. Dorian).
|
||||
* misc/dashboard/builder: remove build files after benchmarking.
|
||||
* nacl: update instructions for new SDK.
|
||||
* net: enable v4-over-v6 on ip sockets,
|
||||
fix crash in DialIP.
|
||||
* os: check for valid arguments in windows Readdir (thanks Peter Mundy).
|
||||
* runtime: add mmap of null page just in case,
|
||||
correct stats in SysFree,
|
||||
fix unwindstack crash.
|
||||
* syscall: add IPPROTO_IPV6 and IPV6_V6ONLY const to fix nacl and windows build,
|
||||
add inotify on Linux (thanks Balazs Lecz),
|
||||
fix socketpair in syscall_bsd,
|
||||
fix windows value of IPV6_V6ONLY (thanks Alex Brainman),
|
||||
implement windows version of Utimes (thanks Alex Brainman),
|
||||
make mkall.sh work for nacl.
|
||||
* test: Add test that causes incorrect error from gccgo.
|
||||
* utf8: add DecodeLastRune and DecodeLastRuneInString (thanks Roger Peppe).
|
||||
* xml: Allow entities inside CDATA tags (thanks Dan Sinclair).
|
||||
</pre>
|
||||
|
||||
<h3 id="2010-09-22">2010-09-22</h3>
|
||||
|
||||
<pre>
|
||||
|
Loading…
Reference in New Issue
Block a user