# HG changeset patch # User "uncorrelated zombie" # Date 1298500277 -32400 # Node ID 308cc64c24b9f64499fa47997a925ee33eb4737c # Parent 30b521e712f5186eae3f7316875e5ab2c992e5b3 Goのソースコードを追加。 diff -r 30b521e712f5 -r 308cc64c24b9 Looping.go --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Looping.go Thu Feb 24 07:31:17 2011 +0900 @@ -0,0 +1,32 @@ +package main + +import fmt "fmt" +import tm "time" + +type Looping struct { + n0 int; +} + +func (this *Looping) calc(n int) (int) { + var n1 = this.n0 + (1 - 2*(n%2)) + this.n0 = n + return n1 +} + +func NewLooping () *Looping { + var o = new(Looping) + o.n0 = 0 + return o +} + +func main() { + var o = NewLooping() + var n = 1 + var t1 = tm.Nanoseconds() + for c:=0; c<2147483647; c++ { + n = o.calc(n) + } + var t2 = tm.Nanoseconds() + fmt.Printf("%d\nGo:\t%f\n", n, ((float64)(t2 - t1))/1000000000) +} +