]> Cypherpunks repositories - gostls13.git/commitdiff
- added more test cases
authorRobert Griesemer <gri@golang.org>
Wed, 12 Mar 2008 21:57:03 +0000 (14:57 -0700)
committerRobert Griesemer <gri@golang.org>
Wed, 12 Mar 2008 21:57:03 +0000 (14:57 -0700)
SVN=112271

tests/test0.go

index ab58bc8572af6feba5cd6caa59d1d4485fc8aa0b..9201c16685eeb7d08f6242ed3f86d57db1e56b0b 100644 (file)
@@ -14,6 +14,10 @@ const
 const (
   pi = /* the usual */ 3.14159265358979323;
   e = 2.718281828;
+  mask1 int = 1 << iota;
+  mask2 = 1 << iota;
+  mask3 = 1 << iota;
+  mask4 = 1 << iota;
 )
 
 type (
@@ -23,7 +27,15 @@ type (
   };
   Point2 Point
 )
-  
+
+func (p *Point) Initialize(x, y int) {
+  p.x, p.y = x, y
+}
+
+func (p *Point) Distance() int {
+  return p.x * p.x + p.y * p.y
+}
+
 var (
   x1 int;
   x2 int;
@@ -44,7 +56,9 @@ func swap(x, y int) (u, v int) {
 }
 
 func control_structs() {
-  i := 0;
+  var p Point = new(Point).Initialize(2, 3);
+  i := p.Distance();
+  var f float = 0.3;
   for {}
   for {};
   for j := 0; j < i; j++ {
@@ -52,12 +66,16 @@ func control_structs() {
     } else i = 0;
     var x float
   }
-  foo: switch {
-    case i < y:
-    case i < j:
-    case i == 0, i == 1, i == j:
-      i++; i++;
-    default:
-      break
+  foo:  // a label
+  switch {
+  case i < y:
+    fallthrough
+  case i < j:
+  case i == 0, i == 1, i == j:
+    i++; i++;
+    goto foo;
+  default:
+    i = -+-+i;
+    break
   }
 }