GORM Go를 사용하여 사용자 정의 세트 데이터 유형 유지
제공된 코드는 사용자 정의 세트 데이터 유형 threadUnsafeSet 및 그에 수반되는 메소드를 정의합니다. MySQL용 GORM 라이브러리를 사용하여 이 데이터 유형을 유지하려면 Scanner 및 Driver Valuer 인터페이스를 구현해야 합니다.
Scanner 및 Driver Valuer 인터페이스 구현
Scanner 인터페이스는 데이터베이스 값을 Go 값으로 스캔하는 데 사용되는 반면 Driver Valuer 인터페이스는 Go 값을 데이터베이스 드라이버 값으로 변환하는 데 사용됩니다. threadUnsafeSet 유형의 경우 이는 사용자 정의 세트를 데이터베이스 호환 형식으로 또는 그 반대로 변환하는 메소드를 구현하는 것을 의미합니다.
구현 예는 다음과 같습니다.
func (data *threadUnsafeSet) Value() (driver.Value, error) { return data.ConvertJSONToString(), nil } func (data *threadUnsafeSet) Scan(value interface{}) error { *data = data.ConvertStringToJson(valueString) }
이 예에서는 , ConvertJSONToString 및 ConvertStringToJson 메소드는 사용자 정의 세트를 JSON 문자열로 변환한 후 데이터베이스에 저장할 수 있습니다.
이러한 인터페이스를 구현함으로써 GORM은 이제 다음에서 threadUnsafeSet 유형을 저장하고 검색하는 방법을 이해할 수 있습니다.
참고: 더미 ConvertJSONToString 및 ConvertStringToJson 메서드 호출을 특정 데이터 유형 변환 요구 사항과 일치하는 실제 구현으로 바꿔야 합니다.
위 내용은 GORM 및 MySQL을 사용하여 사용자 정의 Go Set 데이터 유형을 유지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!