diff options
Diffstat (limited to 'content/go12.article')
-rw-r--r-- | content/go12.article | 49 |
1 files changed, 25 insertions, 24 deletions
diff --git a/content/go12.article b/content/go12.article index 2516a77..4ba73c1 100644 --- a/content/go12.article +++ b/content/go12.article @@ -1,46 +1,47 @@ -Go 1.2 is released +# Go 1.2 is released 1 Dec 2013 Tags: release +Summary: We are pleased to announce the release of Go 1.2, the latest stable version of the Go Programming Language. Andrew Gerrand -* Introduction +## We are pleased to announce the release of Go 1.2, the latest stable version of the Go Programming Language. Binary distributions may be downloaded from the -[[https://golang.org/doc/install][usual place]] or if you prefer to -[[https://golang.org/doc/install/source][compile from source]] you should use +[usual place](https://golang.org/doc/install) or if you prefer to +[compile from source](https://golang.org/doc/install/source) you should use the `release` or `go1.2` tags. This new release comes nearly seven months after the release of Go 1.1 in May, a much shorter period than the 14 months between 1.1 and 1.0. We anticipate a comparable interval between future major releases. -[[https://golang.org/doc/go1.2][Go 1.2]] includes a couple of minor +[Go 1.2](https://golang.org/doc/go1.2) includes a couple of minor language changes, several improvements to the language implementation and tools, some performance improvements, and many additions and (backward-compatible) changes to the standard library. -Please read the [[https://golang.org/doc/go1.2][release notes]] for all +Please read the [release notes](https://golang.org/doc/go1.2) for all the details, as some changes may affect the behavior of existing (buggy) programs. What follows is the highlights of the release. -A new [[https://golang.org/doc/go1.2#three_index][three-index slice syntax]] +A new [three-index slice syntax](https://golang.org/doc/go1.2#three_index) adds the ability to specify capacity as well as length. This allows the programmer to pass a slice value that can only access a limited portion of the underlying array, a technique that previously required the use of the unsafe package. A major new feature of the tool chain is the facility to compute and display -[[https://golang.org/doc/go1.2#cover][test coverage results]]. -See the [[https://golang.org/cmd/go/#hdr-Description_of_testing_flags][`go`test`]] -and [[https://godoc.org/code.google.com/p/go.tools/cmd/cover/][cover tool]] +[test coverage results](https://golang.org/doc/go1.2#cover). +See the [`go test`](https://golang.org/cmd/go/#hdr-Description_of_testing_flags) +and [cover tool](https://godoc.org/code.google.com/p/go.tools/cmd/cover/) documentation for details. Later this week we will publish an article that discusses this new feature in detail. -Goroutines are now [[https://golang.org/doc/go1.2#preemption][pre-emptively scheduled]], +Goroutines are now [pre-emptively scheduled](https://golang.org/doc/go1.2#preemption), in that the scheduler is invoked occasionally upon entry to a function. This can prevent busy goroutines from starving other goroutines on the same thread. @@ -49,21 +50,21 @@ An increase to the default goroutine stack size should improve the performance of some programs. (The old size had a tendency to introduce expensive stack-segment switching in performance-critical sections.) On the other end, new restrictions on -[[https://golang.org/doc/go1.2#stack_size][stack sizes]] and -[[https://golang.org/doc/go1.2#thread_limit][the number of operating system threads]] +[stack sizes](https://golang.org/doc/go1.2#stack_size) and +[the number of operating system threads](https://golang.org/doc/go1.2#thread_limit) should prevent misbehaving programs from consuming all the resources of a machine. (These limits may be adjusted using new functions in the -[[https://golang.org/pkg/runtime/debug][`runtime/debug` package]].) +[`runtime/debug` package](https://golang.org/pkg/runtime/debug).) -Finally, among the [[https://golang.org/doc/go1.2#library][many changes to the standard library]], +Finally, among the [many changes to the standard library](https://golang.org/doc/go1.2#library), significant changes include -the new [[https://golang.org/doc/go1.2#encoding][`encoding` package]], -[[https://golang.org/doc/go1.2#fmt_indexed_arguments][indexed arguments]] in `Printf` format strings, and -some [[https://golang.org/doc/go1.2#text_template][convenient additions]] to the template packages. +the new [`encoding` package](https://golang.org/doc/go1.2#encoding), +[indexed arguments](https://golang.org/doc/go1.2#fmt_indexed_arguments) in `Printf` format strings, and +some [convenient additions](https://golang.org/doc/go1.2#text_template) to the template packages. -As part of the release, the [[http://play.golang.org/][Go Playground]] has been +As part of the release, the [Go Playground](http://play.golang.org/) has been updated to Go 1.2. This also affects services that use the Playground, such as -[[http://tour.golang.org/][the Go Tour]] and this blog. +[the Go Tour](http://tour.golang.org/) and this blog. The update also adds the ability to use threads and the `os`, `net`, and `unsafe` packages inside the sandbox, making it more like a real Go environment. @@ -71,7 +72,7 @@ To everyone who helped make this release possible, from the many users who submitted bug reports to the 116 (!) contributors who committed more than 1600 changes to the core: Your help is invaluable to the project. Thank you! -_This_blog_post_is_the_first_of_the_ -[[http://blog.gopheracademy.com/day-01-go-1.2][Go Advent Calendar]], -_a_series_of_daily_articles_presented_by_the_ -[[http://gopheracademy.com/][Gopher Academy]] _from_December_1_to_25._ +_This blog post is the first of the_ +[Go Advent Calendar](http://blog.gopheracademy.com/day-01-go-1.2), +_a series of daily articles presented by the_ +[Gopher Academy](http://gopheracademy.com/) _from December 1 to 25._ |