| // 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") | |
| } | |
| } |