转换代码如下:
package cmd
import (
"fmt"
"unsafe"
"github.com/spf13/cobra"
)
func init() {
rootCmd.AddCommand(bufferCmd)
}
var bufferCmd = &cobra.Command{
Use: "buffert",
Run: func(cmd *cobra.Command, args []string) {
s := "1111111111111111111111111111111111"
b := []byte(s)
b2 := *(*[16]byte)(unsafe.Pointer(&b[0]))
fmt.Println(string(b2[:]))
},
}
输出结果:
PS E:\go\myproject> go run .\main.go buffert
1111111111111111
PS E:\go\myproject>
字符串s的长度应该要大于等于数组的长度的。