2014-07-13 1 views
0

데이터베이스 스키마가 어떻게 될지 모르기 때문에 런타임에 SQL 매핑을 만들 수있는 간단한 sql 매퍼를 만듭니다.이 간단한 케이스에서 제네릭 부족을 해결하는 방법

는 다음과 같은 구조체를 고려하십시오

내가 columnType 필드에 사용해야 어떤 종류의
type SqlColumn struct { 
    name string 
    columnType ? //int float etc... 
} 

?

내가 생각할 수있는 유일한 방법은 문자열 또는 const를 사용하고 나머지를 반성을 사용하여 처리하는 것입니다. 올바른 경로에 있습니까?

이에 대한
+0

랜덤 노트, 이런 종류의 일이 시간의 99 %를 필요하지 않습니다 그것은 columnType'가 아닌'또한, 단지 과잉의 마음에'name'을 유지하고 내 보낸 패키지이므로 외부에서 사용할 수 없습니다. – OneOfOne

답변

3

사용 interface{} :

type SqlColumn struct { 
    name string 
    columnType interface{} 
} 
+1

하지만 문제는 그 필드에 reflect.Kind를 사용하면 무엇을 얻을 수 있습니까? – FPGA

+2

적절한 타입 인'reflect.Int' 등을 얻을 수 있습니다. – OneOfOne

관련 문제