Root Zanli
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
opt
/
golang
/
1.22.0
/
test
/
Filename :
strcopy.go
back
Copy
// run // Copyright 2018 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 that string([]byte(string)) makes a copy and doesn't reduce to // nothing. (Issue 25834) package main import ( "reflect" "unsafe" ) func main() { var ( buf = make([]byte, 2<<10) large = string(buf) sub = large[10:12] subcopy = string([]byte(sub)) subh = *(*reflect.StringHeader)(unsafe.Pointer(&sub)) subcopyh = *(*reflect.StringHeader)(unsafe.Pointer(&subcopy)) ) if subh.Data == subcopyh.Data { panic("sub and subcopy have the same underlying array") } }