github.com/tunabay/go-bitarray@v1.3.1/bitarray_parse_example_test.go (about) 1 // Copyright (c) 2021 Hirotsuna Mizuno. All rights reserved. 2 // Use of this source code is governed by the MIT license that can be found in 3 // the LICENSE file. 4 5 package bitarray_test 6 7 import ( 8 "fmt" 9 10 "github.com/tunabay/go-bitarray" 11 ) 12 13 func ExampleParse() { 14 baB, err := bitarray.Parse("0101-0101 1111-1111 1101-11") 15 if err != nil { 16 fmt.Println(err) 17 } 18 fmt.Printf("% s\n", baB) 19 20 baH, err := bitarray.Parse("0x_ff88_7") 21 if err != nil { 22 fmt.Println(err) 23 } 24 fmt.Printf("% s\n", baH) 25 26 baO, err := bitarray.Parse("0o0777") 27 if err != nil { 28 fmt.Println(err) 29 } 30 fmt.Printf("% s\n", baO) 31 32 // Output: 33 // 01010101 11111111 110111 34 // 11111111 10001000 0111 35 // 00011111 1111 36 } 37 38 func ExampleParse_multipleTokens() { 39 ba, err := bitarray.Parse("00000 + 0xfff + 0b_000 + 0o775") 40 if err != nil { 41 fmt.Println(err) 42 } 43 fmt.Printf("% s\n", ba) 44 45 // Output: 46 // 00000111 11111111 10001111 11101 47 } 48 49 func ExampleParse_paddingBits() { 50 ba0, _ := bitarray.Parse("0xfc0") 51 ba1, _ := bitarray.Parse("0xfc0 (pad=1)") 52 ba2, _ := bitarray.Parse("0xfc0 (pad=2)") 53 ba3, _ := bitarray.Parse("0xfc0 (pad=3)") 54 fmt.Printf("% s\n", ba0) 55 fmt.Printf("% s\n", ba1) 56 fmt.Printf("% s\n", ba2) 57 fmt.Printf("% s\n", ba3) 58 59 // Output: 60 // 11111100 0000 61 // 11111100 000 62 // 11111100 00 63 // 11111100 0 64 } 65 66 func ExampleMustParse() { 67 ba := bitarray.MustParse("1100-1111 1010-0000 1111") 68 fmt.Println(ba) 69 70 // Output: 71 // 11001111101000001111 72 }