From 560b22e2ba9c71dd53e048b4f540eb8933049fd8 Mon Sep 17 00:00:00 2001 From: keeghcet Date: Wed, 10 Sep 2025 19:03:03 +0800 Subject: [PATCH] exchanges/refactor: Use strings.Builder for string construction (#2046) * refactor: use strings.builder Signed-off-by: keeghcet * Apply suggestion from @shazbert Co-authored-by: Ryan O'Hara-Reid --------- Signed-off-by: keeghcet Co-authored-by: Adrian Gallagher Co-authored-by: Ryan O'Hara-Reid --- exchanges/btcmarkets/btcmarkets_websocket.go | 7 ++++--- exchanges/bybit/bybit.go | 6 +++--- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/exchanges/btcmarkets/btcmarkets_websocket.go b/exchanges/btcmarkets/btcmarkets_websocket.go index 8be7f617..fbd4eeb9 100644 --- a/exchanges/btcmarkets/btcmarkets_websocket.go +++ b/exchanges/btcmarkets/btcmarkets_websocket.go @@ -425,11 +425,12 @@ func orderbookChecksum(ob *orderbook.Book) uint32 { // concatOrderbookLiquidity concatenates price and amounts together for checksum processing func concatOrderbookLiquidity(liquidity orderbook.Levels) string { - var c string + var c strings.Builder for x := range min(10, len(liquidity)) { - c += trim(liquidity[x].Price) + trim(liquidity[x].Amount) + c.WriteString(trim(liquidity[x].Price)) + c.WriteString(trim(liquidity[x].Amount)) } - return c + return c.String() } // trim turns value into string, removes the decimal point and all the leading zeros diff --git a/exchanges/bybit/bybit.go b/exchanges/bybit/bybit.go index fa176e69..8513fe65 100644 --- a/exchanges/bybit/bybit.go +++ b/exchanges/bybit/bybit.go @@ -2593,16 +2593,16 @@ func (e *Exchange) SendAuthHTTPRequestV5(ctx context.Context, ePath exchange.URL return fmt.Errorf("%w code: %d message: %s", request.ErrAuthRequestFailed, response.RetCode, response.RetMsg) } if len(response.RetExtInfo.List) > 0 && response.RetCode != 0 { - var errMessage string + var errMessage strings.Builder var failed bool for i := range response.RetExtInfo.List { if response.RetExtInfo.List[i].Code != 0 { failed = true - errMessage += fmt.Sprintf("code: %d message: %s ", response.RetExtInfo.List[i].Code, response.RetExtInfo.List[i].Message) + errMessage.WriteString(fmt.Sprintf("code: %d message: %s ", response.RetExtInfo.List[i].Code, response.RetExtInfo.List[i].Message)) } } if failed { - return fmt.Errorf("%w %s", request.ErrAuthRequestFailed, errMessage) + return fmt.Errorf("%w %s", request.ErrAuthRequestFailed, errMessage.String()) } } return err