Правильный метод хеширования произвольного объекта

Я пишу структуру данных, которая должна хешировать произвольный объект. Следующая функция, похоже, не сработает, если я дам параметр int .

func Hash( obj interface{} ) []byte {
    digest := md5.New()
    if err := binary.Write(digest, binary.LittleEndian, obj); err != nil {
        panic(err)
    }
    return digest.Sum()
}

Вызов этой функции для int приводит к:

panic: binary.Write: недопустимый тип int

Как правильно это сделать?

5
задан kiamlaluno 11 May 2011 в 03:47
поделиться