\n- 我编写了一个函数来复制
string到[]byte\xef\xbc\x9a \n
\n
func unsafeStringToBytes(xxxxxs string) []byte {\n p := &xxxxxs\n sh := (*reflect.StringHeader)(unsafe.Pointer(p))\n sliceHeader := &reflect.SliceHeader{\n Data: sh.Data,\n Len: sh.Len,\n Cap: sh.Len,\n }\n\n runtime.GC()\n time.Sleep(10 * time.Nanosecond)\n\n b := *(*[]byte)(unsafe.Pointer(sliceHeader))\n return b\n}\n
Run Code Online (Sandbox Code Playgroud)\n
\n- 然后,我写一个测试:
\n
\n
package gc\n\nimport (\n "bufio"\n "log"\n "os"\n "reflect"\n "runtime"\n "testing"\n "time"\n "unsafe"\n)\n\nfunc TestWriteLog(t *testing.T) {\n f1, err := os.Create("./log")\n if err != nil {\n log.Fatal(err)\n }\n defer f1.Close()\n\n for i := 0; i <= 1000000; i++ {\n _, …
Run Code Online (Sandbox Code Playgroud)