]> Cypherpunks repositories - gostls13.git/commitdiff
crypto/rand: Example for Read.
authorYves Junqueira <yves.junqueira@gmail.com>
Wed, 8 Aug 2012 02:04:54 +0000 (12:04 +1000)
committerAndrew Gerrand <adg@golang.org>
Wed, 8 Aug 2012 02:04:54 +0000 (12:04 +1000)
R=adg, remyoudompheng, rsc, r
CC=golang-dev
https://golang.org/cl/6457085

src/pkg/crypto/rand/example_test.go [new file with mode: 0644]

diff --git a/src/pkg/crypto/rand/example_test.go b/src/pkg/crypto/rand/example_test.go
new file mode 100644 (file)
index 0000000..5af8e46
--- /dev/null
@@ -0,0 +1,29 @@
+// Copyright 2011 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 rand_test
+
+import (
+       "bytes"
+       "crypto/rand"
+       "fmt"
+       "io"
+)
+
+// This example reads 10 cryptographically secure pseudorandom numbers from
+// rand.Reader and writes them to a byte slice.
+func ExampleRead() {
+       c := 10
+       b := make([]byte, c)
+       n, err := io.ReadFull(rand.Reader, b)
+       if n != len(b) || err != nil {
+               fmt.Println("error:", err)
+               return
+       }
+       // The slice should now contain random bytes instead of only zeroes.
+       fmt.Println(bytes.Equal(b, make([]byte, c)))
+
+       // Output:
+       // false
+}