반응형
배경
- 컨택스트에 데이터 넣고 받으려고 하니.. interface로 반환된다. 반환된 interface를 구조체로 만들 필요가 생김
참고기사
https://research.swtch.com/interfaces
For conversion of interface{} to a struct, we will use the library – https://github.com/mitchellh/mapstructure . Let’s understand how to convert the interface to a struct by an example:
위 라이브러리를 사용하자
package main
import (
"fmt"
"github.com/mitchellh/mapstructure"
)
type NewCustomerEvent struct {
Name string
Phone string
Email string
}
func main() {
newCustomer := NewCustomerEvent{Name: "x", Phone: "082213909101", Email: "xyz@gmail.com"}
convert(newCustomer)
}
func convert(event interface{}) {
c := NewCustomerEvent{}
mapstructure.Decode(event, &c)
fmt.Printf("Event is: %v", c)
}
output
Event is: {x 082213909101 xyz@gmail.com}
user := c.Locals("user")
details, ok :=user.(*models.User)
fmt.Println("checking for locals -----------",details.Name)
요렇게도 쓰는거같다
반응형
'Web > GoLang' 카테고리의 다른 글
[golang] slack api 연동 bot 자동메시지 (1) | 2022.10.05 |
---|---|
golang 디렉토리 구조 샘플 (0) | 2022.06.20 |
[golang]Go에서 리플렉션을 통해 빈 값을 빠르게 감지하는 방법 (0) | 2022.05.24 |
[golang] 개발테스트시 강제 에러 발생 코드 (0) | 2022.04.26 |
[golang] json 파싱시 개행으로 인한 파싱오류, 문자열 강제 replace (0) | 2021.11.15 |
댓글