My External Storage

Jul 7, 2019 - 5 minute read - Comments - go

[Go]Sliceを含んだ構造体が等値演算子(==)でpanicを引き起こすのを回避する #golang

Goにはcomparableが定義されておらず、比較できない型としてSlice, Mapなどがある。
interfaceがそのような型(フィールドにそのような型を持った構造体)を値に持っていたときに==を利用するとpanicが発生する可能性がある。
行儀の悪い構造体を定義しないテクニックがあったのでメモしておく。