mirror of
https://github.com/golang/go
synced 2024-11-12 04:00:23 -07:00
f2b5a07453
also: cmplx -> complex float64(1.0) -> 1.0 float64(1) -> 1.0 R=gri, r, gri1, r2 CC=golang-dev https://golang.org/cl/3991043
93 lines
1.2 KiB
Go
93 lines
1.2 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 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
|
|
}
|
|
}
|
|
|
|
func main() {
|
|
}
|