[]int8을 문자열로 변환
문제:
슬라이스를 효율적으로 변환하는 방법 int8 ([]int8)을 문자열로? []byte에 대한 표준 문자열(바이트 슬라이스) 변환은 "문자열 유형으로 변환할 수 없습니다."라는 오류와 함께 []int8에 대해 실패합니다.
해결책:
[] 이후 int8과 []byte는 유형이 다르므로 직접 변환이 불가능합니다. 따라서 수동 변환이 필요합니다.
변환 프로세스에는 세 단계가 포함됩니다.
코드 구현:
다음 Go 코드는 변환:
func B2S(bs []int8) string { b := make([]byte, len(bs)) for i, v := range bs { b[i] = byte(v) } return string(b) }
이 코드는 int8 값이 바이트로 올바르게 변환되어 정확한 문자열 표현이 되도록 보장합니다.
참고:
문제 설명에서 처음에 []int8을 언급했지만 질문자는 나중에 이를 []uint8로 수정했습니다. []uint8의 경우 byte가 uint8의 별칭이므로 string(ba)를 사용하여 문자열로 직접 변환이 가능합니다.
위 내용은 Go []int8 슬라이스를 문자열로 효율적으로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!