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의 주석을 참고하여 다중할당을 사용할 경우 어떤 문제가 일어날 수 있는지 말해보시오.
너무 좆밥이냐?
철자나 제대로 써라
대충 써본거니까 철자 말고 내용을 느껴봐
내용을 모르겠냐. 근데 평가순서에 관한 문제면 업무가 Go 관련이 아닌 이상 굳이 저걸 끌어올 필요는 없어 보이는데
원래 이런건 int i = 3; printf("%d %d\n", i, i++); 이런 문제 내고 즐기는 거 아니냐?
음...고맙다