2017-09-12 5 views
1

Go 문자열에 JSON 문자열에 유효하지 않은 문자가 포함되어 있는지 여부를 감지하는 가장 효율적인 방법은 무엇입니까? 즉,이 답변에 해당하는 Go는 무엇입니까? Java question? strings.ContainsAny (ASCII control characters으로 가정)을 사용하는 것입니까? 당신이 (당신이 지적 자바 질문에 대한 답변에서와 같이) 제어 문자를 식별하기 위해 찾고 있다면Go : 잘못된 JSON 문자열을 감지하는 가장 좋은 방법은 무엇입니까?

ctlChars := string([]byte{ 
    0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 
    19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 127, 
}) 
if strings.ContainsAny(str, ctlChars) { 
    println("has control chars") 
} 
+4

효율적인 어떤 의미에서? 빠른? 최저 소비 전력? 최소한의 CPU 명령어? Nacl에서 실행됩니까? 최소 지속 시간/와트? 최소한의 캐시 미스가 있습니까? 이해하기 쉬운? 디버깅 중 가장 효율적입니까? JSON 사양 변경 사항을 가장 쉽게 변경할 수 있습니까? – Volker

+0

@Volker 예. 모든 옵션과 장단점을 알고 /보고/문서화하는 것이 유용 할 것입니다. – theory

+0

"모든 옵션과 절충안"은 매우 광범위합니다. 특정 최적화 목표가있어 SO에 대한 답변을 충분히 좁힐 수있는 경우 – Adrian

답변