This is a creation in Article, where the information may have evolved or changed.
<!--/* Font definitions */@font-face {font-family:wingdings; Panose-1:5 0 0 0 0 0 0 0 0 0; mso-font-charset:2; mso-ge Neric-font-family:auto; mso-font-pitch:variable; mso-font-signature:0 268435456 0 0-2147483648 0;} @font-face {font-family: Song body; Panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-alt:simsun; mso-font-charset:134; Mso-generic-font-fami Ly:auto; mso-font-pitch:variable; Mso-font-signature:3 135135232 16 0 262145 0;} @font-face {font-family: blackbody; Panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-alt:simhei; mso-font-charset:134; Mso-generic-font-fami Ly:auto; mso-font-pitch:variable; Mso-font-signature:1 135135232 16 0 262144 0;} @font-face {font-family:tahoma; Panose-1:2 6 4 3 5 4 4 2 4; mso-font-charset:0; Mso-generic-font-family:swiss; mso-font -pitch:variable; mso-font-signature:1627421319-2147483648 8 0 66047 0;} @font-face {font-family: "/@ blackbody"; Panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-charset:134; mso-generic-font-family:auto; mso-font -pitch:variable; Mso-font-signature:1 135135232 16 0 262144 0;} @font-face {font-family: "/@"; Panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-charset:134; mso-generic-font-family:auto; mso-font -pitch:variable; Mso-font-signature:3 135135232 16 0 262145 0;} /* Style Definitions */P.msonormal, Li. MsoNormal, Div. MsoNormal {mso-style-parent: ""; margin:0cm; margin-bottom:.0001pt; text-align:justify; Text-justify:inter-ideograph; Mso-pagination:none; font-size:10.5pt; mso-bidi-font-size:12.0pt; Font-family: "Times New Roman"; Mso-fareast-font-family: Song body; mso-font-kerning:1.0pt;} H1 {mso-style-next: text; margin-top:17.0pt; margin-right:0cm; margin-bottom:16.5pt; margin-left:0cm; Text-align: Justify Text-justify:inter-ideograph; line-height:240%; Mso-pagination:lines-together; page-break-after:avoid; Mso-outline-level:1; font-size:22.0pt; Font-family: "Times New Roman"; mso-font-kerning:22.0pt;} H2 {mso-style-next: text; margin-top:13.0pt; margin-right:0cm; margin-bottom:13.0pt; margin-left:0cm; Text-align: Justify Text-justify:inter-ideograph; line-height:173%; Mso-pagination:lines-together; page-break-after:avoid; Mso-outline-level:2; font-size:16.0pt; font-family:arial; Mso-fareast-font-family: blackbody; Mso-bidi-font-family: "Times New Roman"; mso-font-kerning:1.0pt;} /* Page Definitions */@page {mso-page-border-surround-header:no; mso-page-border-surround-footer:no;} @page Section1 { SIZE:612.0PT 792.0pt; margin:72.0pt 90.0pt 72.0pt 90.0pt; mso-header-margin:36.0pt; mso-footer-margin:36.0pt; mso-paper-source:0;} Div. Section1 {page:section1;}/* List definitions */@list l0 {mso-list-id:1333803225; mso-list-type:hybrid; mso-list-template-ids:1732035604-564631190 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;} @list L0:level1 {mso-level-number-format:japanese-counting; Mso-level-text: chapter%1; mso-level-tab-stop:53.25pt; Mso-level-number-position:left; margin-left:53.25pt; text-indent:-53.25pt;} @list L1 {mso-list-id:2015305095; mso-list-type:hybrid; mso-list-template-ids:-369974582 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list L1:level1 {mso-level-number-format:bullet; Mso-level-text:; mso-level-tab-stop:21.0pt; Mso-level-number-position:left; margin-left:21.0pt; text-indent:-21.0pt; Font-family:wingdings;} @list L1:level2 {mso-level-number-format:bullet; Mso-level-text:; mso-level-tab-stop:42.0pt; Mso-level-number-position:left; margin-left:42.0pt; text-indent:-21.0pt; Font-family:wingdings;} OL {margin-bottom:0cm;} ul {margin-bottom:0cm;}--
Notes on Go language learning
Wei May 2010
The first part of the Go Language Foundation
Chapter One overview of Go language
1.1 Go Language Introduction
The Go language is a new programming language launched by Google that can reduce the complexity of your code without compromising application performance. Rob Pike, Google's Chief software engineer, said: "We've developed go because software development has been frustrating over the last more than 10 years." Go is the second Google 2009 release programming language. In July 2009, Google released the simple language, a basic language used to develop Android apps.
Beijing time January 10, 2010, Go language picked Tiobe released the 2009 annual award. The award was awarded to the programming language with the largest increase in market share in 2009.
Google Senior Software engineer Rob · "Go has made me experience the development efficiency I've never had," says Parker (Rob Pike). As with today's C + + or C, go is a system language. "Using it for rapid development, and it's a true compilation language, we're now opening it up because we think it's very useful and powerful," he explains.
In 2007, Google started research on go as a 20% project, which allowed employees to devote 20% of their jobs to the project. In addition to Parker, members of the project also have some other Google engineers.
Parker says that after compiling the go code, the run speed is very close to the C language, and the compilation speed is very fast, as if using an interactive language.
None of the existing programming languages have been specifically optimized for multicore processors. Parker says Go is a language that Google engineers write for such programs. It is not designed for beginners, but learning to use it is not very difficult. Go supports object-oriented, with features such as true encapsulation (closures) and reflection (reflection).
In terms of learning curve, Parker thinks go is similar to Java, and it should be easy for Java developers to learn go.
The reason to publish go as an open source project is to give the open source community the opportunity to create better tools to use the language, such as plugins in the Eclipse IDE. There are currently no IDE support for go.
Go is not used in all of the Web applications that Google has publicly released. But Google has developed several in-house projects using the language.
Parker says that whether go will have an impact on Google's upcoming Chrome OS is too early early, but go does work with native Client. "Go allows apps to run perfectly in the browser," he says. "For example, using go allows you to achieve wave more efficiently, both in the front-end and in the background.
Go also has two compilers, one based on GCC and one set of compilers (6g and 8g) for 64-bit x86 and 32-bit x86 computers, respectively. Gccgo. Google is currently developing its support for ARM chips and Android devices. "The problem with Android phones is that we never had a digital coprocessor," Parker said.
1.2 Go language Features
Go is a powerful system programming language that allows you to program quickly and happily. As with the C language, it can be run quickly and safely, especially in parallel programming, and it has a garbage collector to keep memory safe.
To sum up, Go has the following advantages:
L Simple
Go-Write code is simple
L Fast
The Go compiler can quickly compile code. It can run at speeds comparable to C or C + +.
L Safety
Go is a type-safe and memory-safe language. A garbage collection (garbage Collect, GC) feature that automatically reclaims objects that are no longer in use. No user is required to manage the memory. Go has pointers, but there is no pointer operation.
L Parallel
Go uses a process of lightweight communication that facilitates the programming of systems and servers, and is strongly supported by language, called Goroutines. If you want to run thousands of goroutines at the same time, do not need to worry about memory overflow, use it to say goodbye to the stack overflow.
L Fun
Go can be built quickly with clear syntax, garbage collector, run-time reflection, and many types of methods. It can write like a dynamic language, but it has the speed and security of static language. Using it is a pleasure.
L Open Source
Go is open source, free and easy to get its source code from the Web.
This article from Csdn Blog, reproduced please indicate the source: http://blog.csdn.net/savechina/archive/2010/05/20/5612316.aspx