1
0
mirror of https://github.com/golang/go synced 2024-11-25 11:57:58 -07:00
go/test/test0.go

93 lines
1.2 KiB
Go
Raw Normal View History

// $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.
2008-07-07 11:03:10 -06:00
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
)
2009-01-20 15:40:40 -07:00
type (
Empty interface{}
Point struct {
x, y int
}
Point2 Point
)
2008-03-12 15:57:03 -06:00
2008-07-07 11:03:10 -06:00
func (p *Point) Initialize(x, y int) *Point {
p.x, p.y = x, y
return p
2008-03-12 15:57:03 -06:00
}
func (p *Point) Distance() int {
return p.x*p.x + p.y*p.y
2008-03-12 15:57:03 -06:00
}
var (
x1 int
x2 int
u, v, w float32
)
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 float32 = 0.3
_ = f
for {
}
for {
}
for j := 0; j < i; j++ {
if i == 0 {
} else {
i = 0
}
var x float32
_ = 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
}
}
2008-07-07 11:03:10 -06:00
func main() {
}