1 // $G $D/$F.go && $L $F.$A && ./$A.out
3 // Copyright 2009 The Go Authors. All rights reserved.
4 // Use of this source code is governed by a BSD-style
5 // license that can be found in the LICENSE file.
16 var a = []int{ 1, 2, 3 }
21 println("fail1:", NIL, "!= nil")
24 println("fail2: nil !=", NIL)
26 if a == nil || nil == a {
27 println("fail3:", a, "== nil")
31 func SameArray(a, b []int) bool {
32 if len(a) != len(b) || cap(a) != cap(b) {
35 if len(a) > 0 && &a[0] != &b[0] {
41 var t = T{1.5, 123, "hello", 255}
42 var mt = make(map[int]T)
43 var ma = make(map[int][]int)
48 if t1.a != t.a || t1.b != t.b || t1.c != t.c || t1.d != t.d {
49 println("fail: map val struct", t1.a, t1.b, t1.c, t1.d)
54 if !SameArray(a, a1) {
55 println("fail: map val array", a, a1)
60 var ca = make(chan []int)
71 if t1.a != t.a || t1.b != t.b || t1.c != t.c || t1.d != t.d {
72 println("fail: map val struct", t1.a, t1.b, t1.c, t1.d)
76 if !SameArray(a, a1) {
77 println("fail: map val array", a, a1)
84 func interfacetest() {
89 if !SameArray(a, a1) {
90 println("interface <-> []int", a, a1)
96 if !SameArray(a, a1) {
97 println("interface <-> *[]int", a, a1)
102 if t1.a != t.a || t1.b != t.b || t1.c != t.c || t1.d != t.d {
103 println("interface <-> struct", t1.a, t1.b, t1.c, t1.d)
108 // nothing to check; just verify it doesn't crash