github.com/go-board/x-go@v0.1.2-0.20220610024734-db1323f6cb15/xunsafe/README.md (about)

     1  # XUnsafe
     2  
     3  在go里面, `[]byte` 和 `string` 的相互转换是非常频繁的,随之而来的是大量的内存分配,当长度越长时,对性能影响越大,所有提供了 `unsafe` 的转换方法。
     4  
     5  > 当 `[]byte` 是由 `string` 通过 `unsafe` 转换而来的话,将不能进行更改操作,否则会panic,且无法恢复。
     6  
     7  ## StringToBytes
     8  
     9  ``` go
    10  package main
    11  import (
    12      "github.com/go-board/x-go/xunsafe"
    13  )
    14  func main()  {
    15      bs := xunsafe.StringToBytes("hello,world!")
    16      println(bs)
    17  }
    18  ```
    19  
    20  ## BytesToString
    21  
    22  ``` go
    23  package main
    24  import (
    25      "github.com/go-board/x-go/xunsafe"
    26  )
    27  
    28  func main()  {
    29      str := xunsafe.BytesToString([]byte{'h', 'e', 'l', 'l', 'o', ',', 'w', 'o', 'r', 'l', 'd', '!'})
    30      println(str)
    31  }
    32  ```