Como converter um array de bytes terminado em nulo para string em Go?
Olá a todos! Comecei a estudar Go recentemente e me deparei com um problema ao trabalhar com strings C. Preciso ler dados de uma fonte externa (por exemplo, de syscall ou biblioteca C via cgo), que retorna um array de bytes terminado em byte nulo (`\0`). Em Go, strings são apenas slices de bytes, mas não precisam ser terminadas em nulo, e o byte nulo dentro de uma string é considerado um caractere comum.
Eu tenho este código:
```go
package main
import "fmt"
func main() {
// Exemplo: array de bytes obtido de uma função C
data := []byte{'H', 'e', 'l', 'l', 'o', 0, 'W', 'o', 'r', 'l', 'd', 0}
// Conversão simples para string
str := string(data)
fmt.Println(str) // Vai imprimir "Hello" e lixo? ou "Hello\0World"?
}
```
O problema é que se eu exib
No answers yet.
Faça login para deixar uma resposta