1
0
mirror of https://github.com/golang/go synced 2024-11-23 20:00:04 -07:00
go/test/test0.go
Rob Pike 4f61fc96b2 test: remove semiocolons.
The ken directory is untouched so we have some examples with explicit semis.

R=gri
CC=golang-dev
https://golang.org/cl/2157041
2010-09-04 10:36:13 +10:00

87 lines
1.1 KiB
Go

// $G $F.go && $L $F.$A && ./$A.out
// Copyright 2009 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package main
const
a_const = 0
const (
pi = /* the usual */ 3.14159265358979323
e = 2.718281828
mask1 int = 1 << iota
mask2 = 1 << iota
mask3 = 1 << iota
mask4 = 1 << iota
)
type (
Empty interface {}
Point struct {
x, y int
}
Point2 Point
)
func (p *Point) Initialize(x, y int) *Point {
p.x, p.y = x, y
return p
}
func (p *Point) Distance() int {
return p.x * p.x + p.y * p.y
}
var (
x1 int
x2 int
u, v, w float
)
func foo() {}
func min(x, y int) int {
if x < y { return x; }
return y
}
func swap(x, y int) (u, v int) {
u = y
v = x
return
}
func control_structs() {
var p *Point = new(Point).Initialize(2, 3)
i := p.Distance()
var f float = 0.3
_ = f
for {}
for {}
for j := 0; j < i; j++ {
if i == 0 {
} else i = 0
var x float
_ = x
}
foo: // a label
var j int
switch y := 0; true {
case i < y:
fallthrough
case i < j:
case i == 0, i == 1, i == j:
i++; i++
goto foo
default:
i = -+-+i
break
}
}
func main() {
}