type Ring struct { next, prev *Ring Value interface{} } func (r *Ring) Next() *Ring { if r.next == nil { return r.init() } return r.next } func (r *Ring) Prev() *Ring { if r.next == nil { return r.init() } return r.prev } func (r *Ring) Link(s *Ring) *Ring { n := r.Next() if s != nil { p := s.Prev() // Note: Cannot use multiple assignment because // evaluation order of LHS is not specified. r.next = s s.prev = r n.prev = p p.next = n } return n }

다음은 Go 표준 라이브러리인 continer/ring의 내용 중 일부입니다.

함수 Link의 주석을 참고하여 다중할당을 사용할 경우 어떤 문제가 일어날 수 있는지 말해보시오.


너무 좆밥이냐?