РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1230 of 1593 menu

Функция fnv.New32

Функция fnv.New32 создает новый объект хеша FNV-1a 32-bit, который реализует интерфейс hash.Hash32. В первый параметр функция не принимает никаких аргументов. Возвращаемый объект поддерживает методы Write для добавления данных, Sum для получения хеш-суммы и Reset для сброса состояния. Хеш FNV-1a используется для быстрого вычисления хеш-сумм и является простым, но эффективным алгоритмом.

Синтаксис

fnv.New32()

Пример

Давайте вычислим хеш-сумму для строки "abcde":

package main import ( "fmt" "hash/fnv" ) func main() { h := fnv.New32() h.Write([]byte("abcde")) res := h.Sum32() fmt.Println(res) }

Результат выполнения кода:

1226862731

Пример

Давайте вычислим хеш-сумму для строки "12345":

package main import ( "fmt" "hash/fnv" ) func main() { h := fnv.New32() h.Write([]byte("12345")) res := h.Sum32() fmt.Println(res) }

Результат выполнения кода:

464008899

Пример

Давайте покажем, как использовать метод Reset для сброса состояния хеша и повторного использования объекта:

package main import ( "fmt" "hash/fnv" ) func main() { h := fnv.New32() h.Write([]byte("abcde")) res1 := h.Sum32() fmt.Println(res1) h.Reset() h.Write([]byte("abcde")) res2 := h.Sum32() fmt.Println(res2) }

Результат выполнения кода:

1226862731 1226862731

Смотрите также

  • функцию fnv.New32a,
    которая создает хеш FNV-1 32-bit (не FNV-1a)
  • функцию fnv.New64,
    которая создает хеш FNV-1a 64-bit
  • интерфейс hash.Hash32,
    который реализует возвращаемый объект
  • функцию md5.New,
    которая создает хеш MD5 для вычисления хеш-сумм
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить