From 5ec55c5134402bfc8cb797b87f7937031f670da4 Mon Sep 17 00:00:00 2001
From: Andrew Gerrand The Go project was conceived to make it easier to write the kind
-of servers and other software Google uses internally, but the
-implementation isn't quite mature enough yet for large-scale
-production use. While we continue development we are also doing
-experiments with the language as a candidate server environment. It's
-getting there. For instance, the server behind http://golang.org is a Go program; in
-fact it's just the Yes. There are now several Go programs deployed in
+production inside Google. For instance, the server behind
+http://golang.org is a Go program;
+in fact it's just the
-There are two Go compiler implementations,
-There is a “foreign function interface” to allow safe calling of C-written
-libraries from Go code. We expect to use SWIG to extend this capability
-to C++ libraries. There is no safe way to call Go code from C or C++ yet.
+The cgo program provides the mechanism for a
+“foreign function interface” to allow safe calling of
+C libraries from Go code. SWIG extends this capability to C++ libraries.
Is Google using Go
-internally?
+ Is Google using Go internally?
-godoc
document server running in a
-production configuration.
+godoc
+document server running in a production configuration.
Do Go programs link with C/C++ programs?
6g
and friends, generically called
-gc
, and gccgo
.
+There are two Go compiler implementations, 6g
and friends,
+generically called gc
, and gccgo
.
Gc
uses a different calling convention and linker and can
therefore only be linked with C programs using the same convention.
-There is such a C compiler but no C++ compiler. Gccgo
is a
-GCC front-end that can, with care, be linked with GCC-compiled
-C or C++ programs. However, because Go is garbage-collected it will be
-unwise to do so, at least naively.
+There is such a C compiler but no C++ compiler.
+Gccgo
is a GCC front-end that can, with care, be linked with
+GCC-compiled C or C++ programs.
Does Go support Google's protocol buffers?
@@ -325,6 +319,9 @@ function's state being torn down after an error, which is sufficient
to handle catastrophe but requires no extra control structures and,
when used well, can result in clean error-handling code.
+See the Defer, Panic, and Recover article for details. +
+See the Share Memory By Communicating code walk and its associated article for a detailed discussion of this concept. +
+Test
functions,
builds a test binary, and runs it.
+See the How to Write Go Code document for more details.
+func
and chan
keep things clear.
++See the Go's Declaration Syntax article for more details. +
+