타입 어설 션은 인터페이스에서만 사용할 수 있으며 기본적으로 결정된 유형이 인터페이스를 구현하는지 확인합니다.골란 타입 어설 션 배열
func binder(value interface{}) {
// Does not work
valueInt, ok := value.(int)
// Works
valueInt, ok := value.(float64)
// Does not work
coordinates, ok := value.([]int)
// Does not work
coordinates, ok := value.([]float64)
}
는 기본적으로 내 value
빈 인터페이스이며 나는 json.Unmarshall
에서 무엇입니까 :
좀 이상한 시나리오를있다.
시나리오 1
나는 간단한 정수를 통과 할 때 작동하지 않지만, 나는 그것이 작동하는 부동 ...
시나리오가 있는지 확인 만약 내가 합격이
int 또는 float 배열이 작동하지 않습니다! 내가 디버깅 할 때 알 수 있듯이 배열을 받고 있지만 어떤 이유로 어설 션이 작동하지 않습니다.
당신은 무엇을 의미합니까 "작동하지 않는다"? 어떤 결과물을 받았습니까? 대신에 당신은 무엇을 기대 했습니까? – Flimzy
작동하지 않는다는 것은'ok'가 거짓임을 의미합니다! 그러나 아래의 당신의 대답은 모두 나를 분명하게합니다! –