mirror of
				https://github.com/golang/go.git
				synced 2025-10-31 08:40:55 +00:00 
			
		
		
		
	 f2b5a07453
			
		
	
	
		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
		
			
				
	
	
		
			92 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			92 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() {
 | |
| }
 |