흐르는 시간의 블로그...

출처: https://www.facebook.com/groups/golangko/permalink/831834226994058/


type foo struct{

⠀⠀⠀⠀a int
⠀⠀⠀⠀b int
⠀⠀⠀⠀c int
⠀⠀⠀⠀_ struct{} // to prevent unkeyed literals
}


이렇게 정의하면 필드 이름 없이 선언(unkeyed literals) 하는걸 방지해준다고 하네요.
⠀⠀
⠀⠀
foo{1,2,3}하면 컴파일러가 
⠀⠀
"too few values in struct initializer"라는 에러를 내뿜습니다.
⠀⠀
foo{a:1,b:2,c:3}같이 필드 이름을 꼭 써줘야 합니다.
⠀⠀
필드 순서가 중요한 struct들을 정의 할 때 사용하는 트릭이라네요