mirror of
				https://github.com/golang/go.git
				synced 2025-10-31 16:50:58 +00:00 
			
		
		
		
	 1a3198907b
			
		
	
	
		1a3198907b
		
	
	
	
	
		
			
			also template/template.go, missed last time. R=r DELTA=116 (61 added, 10 deleted, 45 changed) OCL=34620 CL=34622
		
			
				
	
	
		
			86 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			86 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 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() {
 | |
| }
 |