[문법] 임시 구조체

Golang을 사용하다보면 임시 구조체를 사용하면 생각보다 유연하고 편하게 작업 할 수 있다.

 

함수 내에 스택에 할당됨으로 함수내에서만 사용가능하다. 일반적으로 사용하는 구조체와의 차이점이라고 할 수 있다.

 

type Test struct{
 TestId string
}

func Tt(){
 t := &Test{}
}

일반적으로는 위와같은 방법으로 구조체를 생성하고 사용하지만 다음과 같이 사용하면 구조체를 임시로 사용가능하다.

 

func Tt(){
 var Test struct{
    TestId String
 }
 
 t := &Test{}
 
}

위와 같이 함수내에 구조체를 정의 하여 사용할 수 있고, 슬라이스로도 사용이 가능하다.

 

활용방안은 데이터베이스를 사용할때 ORM 은 각 테이블에 관한 정보는 제대로 가져오나 (grom) join 과 같은 상황에선 제대로 결과 값을 가져오지 못하는 경우가 발생이 되는데 이럴때 임시 구조체를 사용한다면 원하는 결과 값을 보다 쉽게 가져 올 수 있다.

 

gorm은 다음 포스팅 부터 연재 하는걸로~

 

'개발 > Go' 카테고리의 다른 글

Go 1.22 release  (1) 2024.02.15
Retry 패키지  (0) 2023.10.31
[gRPC/gRPC GATEWAY] json 필드 이름 proto 타입이름과 다를때  (0) 2022.05.12
[gRPC] message oneof 사용  (0) 2022.05.11