| // Copyright 2020 The Go Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| package maphash_test |
| |
| import ( |
| "fmt" |
| "hash/maphash" |
| ) |
| |
| func Example() { |
| // The zero Hash value is valid and ready to use; setting an |
| // initial seed is not necessary. |
| var h maphash.Hash |
| |
| // Add a string to the hash, and print the current hash value. |
| h.WriteString("hello, ") |
| fmt.Printf("%#x\n", h.Sum64()) |
| |
| // Append additional data (in the form of a byte array). |
| h.Write([]byte{'w', 'o', 'r', 'l', 'd'}) |
| fmt.Printf("%#x\n", h.Sum64()) |
| |
| // Reset discards all data previously added to the Hash, without |
| // changing its seed. |
| h.Reset() |
| |
| // Use SetSeed to create a new Hash h2 which will behave |
| // identically to h. |
| var h2 maphash.Hash |
| h2.SetSeed(h.Seed()) |
| |
| h.WriteString("same") |
| h2.WriteString("same") |
| fmt.Printf("%#x == %#x\n", h.Sum64(), h2.Sum64()) |
| } |