GO PRESENTATION OF AWESOMENESS
<date goes here>
Your Name
Your company
Your handle
Today’s (glorious) blather.
Headlines
01
Content
Big Statements
Quotes
Code
Blanks
02
03
04
05
06
Headlines
SECTION ONE
The First Section
SECTION NUMBER
Content
SECTION TWO
Go’s Values
TENETS OF GO DESIGN
Simplicity.
Each language feature should �be easy to �understand.
01. BACKGROUND
{
TENETS OF GO DESIGN
Orthogonality.
Go’s features should interact in predictable and consistent ways.
01. BACKGROUND
{
TYPES & METHODS
Each language feature should �be easy to �understand.
02. A SIMPLE TYPE SYSTEM
type MyFloat float64� func (m MyFloat) Abs() float64 {� f := float64(m)� if f < 0 {� return -f� }� return f� }� f := MyFloat(-42)� f.Abs() // == 42.0
You can define methods on any type:
IMAGE & TEXT
03. REAL WORLD GO
+ A main point to make
+ Another key point
Big Statements
SECTION THREE
Go is a modern,
general purpose
language.
01. BACKGROUND
WHAT IS GO?
01
Compiles to native machine code (32-bit and 64-bit x86, ARM).
WHAT IS GO?
01. BACKGROUND
02
Lightweight syntax.
WHAT IS GO?
01. BACKGROUND
03
Quotes
SECTION FOUR
Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.
BRIAN KERNIGHAN
Go's purpose is to
make its designers'
programming lives better.
ROB PIKE
Code
SECTION FIVE
TYPES & METHODS
Types implement interfaces implicitly. There is no “implements” declaration.
02. A SIMPLE TYPE SYSTEM
type Abser interface {
Abs() float64
}
Interfaces specify behaviors. �An interface type defines a set �of methods:
func PrintAbs(a Abser) {
fmt.Printf("Absolute value: %.2f\n", a.Abs())
}
PrintAbs(MyFloat(-10))
PrintAbs(Point{3, 4})
A type that implements those methods implements the interface:
TYPES & METHODS
Types implement interfaces implicitly. There is no “implements” declaration.
02. A SIMPLE TYPE SYSTEM
func PrintAbs(a Abser) {� fmt.Printf("Absolute value: %.2f\n", a.Abs())� }
� PrintAbs(MyFloat(-10))� PrintAbs(Point{3, 4})
Blanks
SECTION SIX