Next: Some Go Syntax, Previous: Hello World, Up: Tutorial [Index]
package
declarationGo code is organized into packages, which are similar to
libraries or modules in other languages. A package consists of one or more
.go
source files in a single directory that define what the package does.
Each source file begins with a package declaration, here package main
, that
states which package the file belongs to, followed by a list of other packages
that it imports, and then the declarations of the program that are stored in
that file.
fmt
packageThe Go standard library has over 100 packages for common
tasks like input and output, sorting, and text manipulation. For instance, the
fmt
package contains functions for printing formatted output and scanning
input. Println
is one of the basic output functions in fmt
; it prints one
or more values, separated by spaces, with a newline character at the end so
that the values appear as a single line of output.
Package main
is special. It defines a standalone executable program, not a
library. Within package main
the function main
is also special—it’s
where execution of the program begins. Whatever main
does is what the
program does. Of course, main
will normally call upon functions in other
packages to do much of the work, such as the function fmt.Println
.
We must tell the compiler what packages are needed by this source file; that’s
the role of the import declaration that follows the package
declaration. The ‘‘hello, world’’ program uses only one function from one
other package, but most programs will import more packages.
You must import exactly the packages you need. A program will not compile if there are missing imports or if there are unnecessary ones. This strict requirement prevents references to unused packages from accumulating as programs evolve.
The import
declarations must follow the package
declaration.
Program Keyword Declarations
After that, a program consists of the declarations of functions, variables, constants, and types introduced by the keywords
func
,
var
,
const
, and
type
For the most part, the order of declarations does not matter. This program is
about as short as possible since it declares only one function, which in turn
calls only one other function. To save space, we will sometimes not show the
package
and import
declarations when presenting examples, but they are in
the source file and must be there to compile the code.
Next: Some Go Syntax, Previous: Hello World, Up: Tutorial [Index]