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

85 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;
2008-03-12 15:57:03 -06:00
mask1 int = 1 << iota;
mask2 = 1 << iota;
mask3 = 1 << iota;
mask4 = 1 << iota;
)
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 {
2008-06-06 13:57:00 -06:00
p.x, p.y = x, y;
2008-07-07 11:03:10 -06:00
return p;
2008-03-12 15:57:03 -06:00
}
func (p *Point) Distance() int {
2008-06-06 13:57:00 -06:00
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 float
)
func foo() {}
func min(x, y int) int {
2008-06-06 13:57:00 -06:00
if x < y { return x; }
return y;
}
func swap(x, y int) (u, v int) {
u = y;
v = x;
2008-06-06 13:57:00 -06:00
return;
}
func control_structs() {
2008-07-07 11:03:10 -06:00
var p *Point = new(Point).Initialize(2, 3);
2008-03-12 15:57:03 -06:00
i := p.Distance();
var f float = 0.3;
for {}
for {};
for j := 0; j < i; j++ {
if i == 0 {
} else i = 0;
2008-06-06 13:57:00 -06:00
var x float;
}
2008-03-12 15:57:03 -06:00
foo: // a label
var j int;
switch y := 0; true {
2008-03-12 15:57:03 -06:00
case i < y:
fallthrough;
2008-03-12 15:57:03 -06:00
case i < j:
case i == 0, i == 1, i == j:
i++; i++;
goto foo;
default:
i = -+-+i;
2008-06-06 13:57:00 -06:00
break;
}
}
2008-07-07 11:03:10 -06:00
func main() {
}