Skip to content

Commit 682253c

Browse files
authored
fix(lint): avoid string concat in loop (#1218)
Signed-off-by: Chris Gianelloni <[email protected]>
1 parent 51035ad commit 682253c

File tree

2 files changed

+50
-41
lines changed

2 files changed

+50
-41
lines changed

cbor/value.go

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -211,19 +211,20 @@ func generateAstJson(obj any) ([]byte, error) {
211211
}
212212

213213
func generateAstJsonList[T []any | Set](v T) ([]byte, error) {
214-
tmpJson := `{"list":[`
214+
var sb strings.Builder
215+
sb.WriteString(`{"list":[`)
215216
for idx, val := range v {
216217
tmpVal, err := generateAstJson(val)
217218
if err != nil {
218219
return nil, err
219220
}
220-
tmpJson += string(tmpVal)
221+
sb.WriteString(string(tmpVal))
221222
if idx != (len(v) - 1) {
222-
tmpJson += `,`
223+
sb.WriteString(`,`)
223224
}
224225
}
225-
tmpJson += `]}`
226-
return []byte(tmpJson), nil
226+
sb.WriteString(`]}`)
227+
return []byte(sb.String()), nil
227228
}
228229

229230
func generateAstJsonMap[T map[any]any | Map](v T) ([]byte, error) {
@@ -343,7 +344,8 @@ func (c Constructor) MarshalCBOR() ([]byte, error) {
343344
}
344345

345346
func (v Constructor) MarshalJSON() ([]byte, error) {
346-
tmpJson := fmt.Sprintf(`{"constructor":%d,"fields":[`, v.constructor)
347+
var sb strings.Builder
348+
sb.WriteString(fmt.Sprintf(`{"constructor":%d,"fields":[`, v.constructor))
347349
tmpList := [][]byte{}
348350
for _, val := range v.value.Value().([]any) {
349351
tmpVal, err := generateAstJson(val)
@@ -353,13 +355,13 @@ func (v Constructor) MarshalJSON() ([]byte, error) {
353355
tmpList = append(tmpList, tmpVal)
354356
}
355357
for idx, val := range tmpList {
356-
tmpJson += string(val)
358+
sb.WriteString(string(val))
357359
if idx != (len(tmpList) - 1) {
358-
tmpJson += `,`
360+
sb.WriteString(`,`)
359361
}
360362
}
361-
tmpJson += `]}`
362-
return []byte(tmpJson), nil
363+
sb.WriteString(`]}`)
364+
return []byte(sb.String()), nil
363365
}
364366

365367
type LazyValue struct {

ledger/error.go

Lines changed: 38 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ package ledger
1717
import (
1818
"errors"
1919
"fmt"
20+
"strconv"
21+
"strings"
2022

2123
"github.com/blinklabs-io/gouroboros/cbor"
2224
)
@@ -196,15 +198,16 @@ func (e *ApplyTxError) UnmarshalCBOR(data []byte) error {
196198
}
197199

198200
func (e *ApplyTxError) Error() string {
199-
ret := "ApplyTxError (["
201+
var sb strings.Builder
202+
sb.WriteString("ApplyTxError ([")
200203
for idx, failure := range e.Failures {
201-
ret = fmt.Sprintf("%s%s", ret, failure)
204+
sb.WriteString(failure.Error())
202205
if idx < (len(e.Failures) - 1) {
203-
ret = ret + ", "
206+
sb.WriteString(", ")
204207
}
205208
}
206-
ret = ret + "])"
207-
return ret
209+
sb.WriteString("])")
210+
return sb.String()
208211
}
209212

210213
type UtxowFailure struct {
@@ -311,15 +314,16 @@ type BadInputsUtxo struct {
311314
}
312315

313316
func (e *BadInputsUtxo) Error() string {
314-
ret := "BadInputsUtxo (["
317+
var sb strings.Builder
318+
sb.WriteString("BadInputsUtxo ([")
315319
for idx, input := range e.Inputs {
316-
ret = fmt.Sprintf("%s%s", ret, input.String())
320+
sb.WriteString(input.String())
317321
if idx < (len(e.Inputs) - 1) {
318-
ret = ret + ", "
322+
sb.WriteString(", ")
319323
}
320324
}
321-
ret = ret + "])"
322-
return ret
325+
sb.WriteString("])")
326+
return sb.String()
323327
}
324328

325329
type TxIn struct {
@@ -404,15 +408,16 @@ type OutputTooSmallUtxo struct {
404408
}
405409

406410
func (e *OutputTooSmallUtxo) Error() string {
407-
ret := "OutputTooSmallUtxo (["
411+
var sb strings.Builder
412+
sb.WriteString("OutputTooSmallUtxo ([")
408413
for idx, output := range e.Outputs {
409-
ret = fmt.Sprintf("%s%s", ret, output.String())
414+
sb.WriteString(output.String())
410415
if idx < (len(e.Outputs) - 1) {
411-
ret = ret + ", "
416+
sb.WriteString(", ")
412417
}
413418
}
414-
ret = ret + "])"
415-
return ret
419+
sb.WriteString("])")
420+
return sb.String()
416421
}
417422

418423
type TxOut struct {
@@ -466,15 +471,16 @@ type OutputBootAddrAttrsTooBig struct {
466471
}
467472

468473
func (e *OutputBootAddrAttrsTooBig) Error() string {
469-
ret := "OutputBootAddrAttrsTooBig (["
474+
var sb strings.Builder
475+
sb.WriteString("OutputBootAddrAttrsTooBig ([")
470476
for idx, output := range e.Outputs {
471-
ret = fmt.Sprintf("%s%s", ret, output.String())
477+
sb.WriteString(output.String())
472478
if idx < (len(e.Outputs) - 1) {
473-
ret = ret + ", "
479+
sb.WriteString(", ")
474480
}
475481
}
476-
ret = ret + "])"
477-
return ret
482+
sb.WriteString("])")
483+
return sb.String()
478484
}
479485

480486
type TriesToForgeADA struct {
@@ -495,21 +501,22 @@ type OutputTooBigUtxo struct {
495501
}
496502

497503
func (e *OutputTooBigUtxo) Error() string {
498-
ret := "OutputTooBigUtxo (["
504+
var sb strings.Builder
505+
sb.WriteString("OutputTooBigUtxo ([")
499506
for idx, output := range e.Outputs {
500-
ret = fmt.Sprintf(
501-
"%s(ActualSize %d, MaxSize %d, Output (%s))",
502-
ret,
503-
output.ActualSize,
504-
output.MaxSize,
505-
output.Output.String(),
506-
)
507+
sb.WriteString("(ActualSize ")
508+
sb.WriteString(strconv.Itoa(output.ActualSize))
509+
sb.WriteString(", MaxSize ")
510+
sb.WriteString(strconv.Itoa(output.MaxSize))
511+
sb.WriteString(", Output (")
512+
sb.WriteString(output.Output.String())
513+
sb.WriteString("))")
507514
if idx < (len(e.Outputs) - 1) {
508-
ret = ret + ", "
515+
sb.WriteString(", ")
509516
}
510517
}
511-
ret = ret + "])"
512-
return ret
518+
sb.WriteString("])")
519+
return sb.String()
513520
}
514521

515522
type InsufficientCollateral struct {

0 commit comments

Comments
 (0)