From a1d8e1a775496d72a9f033d80ed9ee65a03e6956 Mon Sep 17 00:00:00 2001 From: Aliaksandr Valialkin Date: Wed, 2 Dec 2015 13:59:33 +0200 Subject: [PATCH] formatting --- README.md | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 8e35244..6e50bd1 100644 --- a/README.md +++ b/README.md @@ -308,8 +308,8 @@ code after switching to fasthttp. The following tricks are used by fasthttp. Use them in your code too. +* Standard Go functions accept nil buffers ```go -// Standard Go functions accept nil buffer: var ( // both buffers are uninitialized dst []byte @@ -319,11 +319,29 @@ dst = append(dst, src...) // this is legal code copy(dst, src) // this is legal code (string(src) == "") // is true (len(src) == 0) // is true +``` -// strings may be appended to []byte buffer with append: +So throw away nil checks for []byte buffers from you code. For example, +```go +srcLen := 0 +if src != nil { + srcLen = len(src) +} +``` + +becomes + +```go +srcLen := len(src) +``` + +* String may be appended to []byte buffer with append +```go dst = append(dst, "foobar"...) +``` -// All fasthttp functions accept nil []byte buffer: +* All fasthttp functions accept nil []byte buffer +```go statusCode, body, err := fasthttp.Get(nil, "http://google.com/") uintBuf := fasthttp.AppendUint(nil, 1234) ```