github.com/peggyl/go@v0.0.0-20151008231540-ae315999c2d5/test/chancap.go (about) 1 // run 2 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. 6 7 // Test the cap predeclared function applied to channels. 8 9 package main 10 11 func main() { 12 c := make(chan int, 10) 13 if len(c) != 0 || cap(c) != 10 { 14 println("chan len/cap ", len(c), cap(c), " want 0 10") 15 panic("fail") 16 } 17 18 for i := 0; i < 3; i++ { 19 c <- i 20 } 21 if len(c) != 3 || cap(c) != 10 { 22 println("chan len/cap ", len(c), cap(c), " want 3 10") 23 panic("fail") 24 } 25 26 c = make(chan int) 27 if len(c) != 0 || cap(c) != 0 { 28 println("chan len/cap ", len(c), cap(c), " want 0 0") 29 panic("fail") 30 } 31 }