From 5cc78f0f88433bca520a15e77c1ff97e27219ce9 Mon Sep 17 00:00:00 2001 From: Shulhan Date: Fri, 7 Feb 2025 01:32:44 +0700 Subject: lib/bytes: add method Peek to Parser The Peek method take a look on n bytes inside the buffer without using delimiters. The returned bytes may empty or have length less than n. --- lib/bytes/parser_example_test.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'lib/bytes/parser_example_test.go') diff --git a/lib/bytes/parser_example_test.go b/lib/bytes/parser_example_test.go index b6582542..2f91c090 100644 --- a/lib/bytes/parser_example_test.go +++ b/lib/bytes/parser_example_test.go @@ -41,6 +41,22 @@ func ExampleParser_Delimiters() { // =; } +func ExampleParser_Peek() { + var ( + content = []byte("a = b; ") + delims = []byte{'=', ';'} + parser = libbytes.NewParser(content, delims) + ) + var stream = parser.Peek(1) + fmt.Printf("peek=%q\n", stream) + + stream = parser.Peek(len(content) + 1) + fmt.Printf("peek=%q\n", stream) + // Output: + // peek="a" + // peek="a = b; " +} + func ExampleParser_Read() { var ( content = []byte("a = b; ") -- cgit v1.3-5-g9baa