2015-07-11 【Go言語】container/listのRemoveでハマった go list や、ハマったってほどでもないんだけど、まあそうだよね、って感じたメモ。 以下のように書いて、barとquxをlistから排除しようとした see this code in play.golang.org barは排除できてるけど、quxは排除できてないことがわかる。 原因 Remove(e)を呼んだ時点で、eの後ろのポインタもnilになるので、Nextがnilになってループの終了条件にひっかかる。 The Go Playground 解決 本当にはずかしながら、思いつかなかった↓ How to remove element from list while iterating the same list in golangstackoverflow.com RemoveしてからNextするからいけないのであって、先に次のポインタを取得しておけばよいのだ The Go Playground 雑感 再初期化式でNext呼ぶことしか考えてなかった... 俺、才能無えわ DRYな備忘録