Go로 처음 넘어왔을 때 defer를 잘못 이해해서 꽤 오래 돌아간 적이 있다. "LIFO 순서로 실행된다." 여기까진 알고 있었다. 근데 명명된 반환값(named return values)이 들어오는 순간 그 단순한 설명이 충분하지 않아진다.
## 값 복사 함정
```go
…
Go로 처음 넘어왔을 때 defer를 잘못 이해해서 꽤 오래 돌아간 적이 있다. "LIFO 순서로 실행된다." 여기까진 알고 있었다. 근데 명명된 반환값(named return values)이 들어오는 순간 그 단순한 설명이 충분하지 않아진다.
## 값 복사 함정
```go
func…