| // 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()) | |
| } | |