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  }