1
문자열 배열을 바이트 배열 배열로 변환해야합니다. 이 코드는 작동하지만 반복되는 append
은 나에게 싫은 것처럼 보입니다. 더 좋은 방법이 있습니까?문자열 배열을 바이트 배열 배열로 변환하는 관용적 인 방법
input := []string{"foo", "bar"}
output := [][]byte{}
for _, str := range input {
output = append(output, []byte(str))
}
fmt.Println(output) // [[102 111 111] [98 97 114]]
스타일의 문제가 아닌가요? OP의 코드는 입력 크기에 따라 할당 자에게 여러 번 핑합니다. 너의 사람들은 기억의 한 덩어리를 물을 것이고 그걸로 끝날 것이다. (물론, OP는 복합 리터럴 대신에 make ([] [] [] [], 0, len (input))을 사용할 수 있습니다 ...) – BurntSushi5
예, 그가 길을 간다면 몇 시간을 할당 할 것입니다 . 그러나 문자열이 실제로 작기 때문에 많은 차이를 만들 가능성은 거의 없습니다. 당신은 make()를 사용하고 정상적인 뚜껑을 설정하는 것이 나의 예제와 같은 방식으로 할당 횟수를 줄이는 것이 옳다. –
동의, 그건 내가 append()를 반복적으로 호출하는 것에 대해 싫어하는 것입니다. –