github.com/xushiwei/go@v0.0.0-20130601165731-2b9d83f45bc9/test/fixedbugs/bug102.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  package main
     8  
     9  func main() {
    10  	var b [0]byte
    11  	s := string(b[0:]) // out of bounds trap
    12  	if s != "" {
    13  		panic("bad convert")
    14  	}
    15  	var b1 = [5]byte{'h', 'e', 'l', 'l', 'o'}
    16  	if string(b1[0:]) != "hello" {
    17  		panic("bad convert 1")
    18  	}
    19  	var b2 = make([]byte, 5)
    20  	for i := 0; i < 5; i++ {
    21  		b2[i] = b1[i]
    22  	}
    23  	if string(b2) != "hello" {
    24  		panic("bad convert 2")
    25  	}
    26  }