// run | |
// 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. | |
// Test methods on slices. | |
package main | |
type T []int | |
func (t T) Len() int { return len(t) } | |
type I interface { | |
Len() int | |
} | |
func main() { | |
var t T = T{0, 1, 2, 3, 4} | |
var i I | |
i = t | |
if i.Len() != 5 { | |
println("i.Len", i.Len()) | |
panic("fail") | |
} | |
if T.Len(t) != 5 { | |
println("T.Len", T.Len(t)) | |
panic("fail") | |
} | |
if (*T).Len(&t) != 5 { | |
println("(*T).Len", (*T).Len(&t)) | |
panic("fail") | |
} | |
} |