Skip to content

Commit e3118cc

Browse files
refactor: for loop can be modernized using range over int (#4392)
Co-authored-by: Bo-Yi Wu <appleboy.tw@gmail.com>
1 parent cad29c5 commit e3118cc

File tree

7 files changed

+13
-13
lines changed

7 files changed

+13
-13
lines changed

benchmarks_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ func runRequest(B *testing.B, r *Engine, method, path string) {
154154
w := newMockWriter()
155155
B.ReportAllocs()
156156
B.ResetTimer()
157-
for i := 0; i < B.N; i++ {
157+
for B.Loop() {
158158
r.ServeHTTP(w, req)
159159
}
160160
}

binding/default_validator.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ func (err SliceValidationError) Error() string {
2727
}
2828

2929
var b strings.Builder
30-
for i := 0; i < len(err); i++ {
30+
for i := range len(err) {
3131
if err[i] != nil {
3232
if b.Len() > 0 {
3333
b.WriteString("\n")
@@ -58,7 +58,7 @@ func (v *defaultValidator) ValidateStruct(obj any) error {
5858
case reflect.Slice, reflect.Array:
5959
count := value.Len()
6060
validateRet := make(SliceValidationError, 0)
61-
for i := 0; i < count; i++ {
61+
for i := range count {
6262
if err := v.ValidateStruct(value.Index(i).Interface()); err != nil {
6363
validateRet = append(validateRet, err)
6464
}

binding/form_mapping.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ func mapping(value reflect.Value, field reflect.StructField, setter setter, tag
119119
tValue := value.Type()
120120

121121
var isSet bool
122-
for i := 0; i < value.NumField(); i++ {
122+
for i := range value.NumField() {
123123
sf := tValue.Field(i)
124124
if sf.PkgPath != "" && !sf.Anonymous { // unexported
125125
continue

context_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3677,22 +3677,22 @@ func BenchmarkGetMapFromFormData(b *testing.B) {
36773677

36783678
// Test case 3: Large dataset with many bracket keys
36793679
largeData := make(map[string][]string)
3680-
for i := 0; i < 100; i++ {
3680+
for i := range 100 {
36813681
key := fmt.Sprintf("ids[%d]", i)
36823682
largeData[key] = []string{fmt.Sprintf("value%d", i)}
36833683
}
3684-
for i := 0; i < 50; i++ {
3684+
for i := range 50 {
36853685
key := fmt.Sprintf("names[%d]", i)
36863686
largeData[key] = []string{fmt.Sprintf("name%d", i)}
36873687
}
3688-
for i := 0; i < 25; i++ {
3688+
for i := range 25 {
36893689
key := fmt.Sprintf("other[key%d]", i)
36903690
largeData[key] = []string{fmt.Sprintf("other%d", i)}
36913691
}
36923692

36933693
// Test case 4: Dataset with many non-matching keys (worst case)
36943694
worstCaseData := make(map[string][]string)
3695-
for i := 0; i < 100; i++ {
3695+
for i := range 100 {
36963696
key := fmt.Sprintf("nonmatching%d", i)
36973697
worstCaseData[key] = []string{fmt.Sprintf("value%d", i)}
36983698
}
@@ -3728,7 +3728,7 @@ func BenchmarkGetMapFromFormData(b *testing.B) {
37283728
for _, bm := range benchmarks {
37293729
b.Run(bm.name, func(b *testing.B) {
37303730
b.ReportAllocs()
3731-
for i := 0; i < b.N; i++ {
3731+
for b.Loop() {
37323732
_, _ = getMapFromFormData(bm.data, bm.key)
37333733
}
37343734
})

gin_integration_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -400,7 +400,7 @@ func TestConcurrentHandleContext(t *testing.T) {
400400
var wg sync.WaitGroup
401401
iterations := 200
402402
wg.Add(iterations)
403-
for i := 0; i < iterations; i++ {
403+
for range iterations {
404404
go func() {
405405
req, err := http.NewRequest(http.MethodGet, "/", nil)
406406
assert.NoError(t, err)

internal/bytesconv/bytesconv_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ func rawStrToBytes(s string) []byte {
3030

3131
func TestBytesToString(t *testing.T) {
3232
data := make([]byte, 1024)
33-
for i := 0; i < 100; i++ {
33+
for range 100 {
3434
_, err := cRand.Read(data)
3535
if err != nil {
3636
t.Fatal(err)
@@ -79,7 +79,7 @@ func RandStringBytesMaskImprSrcSB(n int) string {
7979
}
8080

8181
func TestStringToBytes(t *testing.T) {
82-
for i := 0; i < 100; i++ {
82+
for range 100 {
8383
s := RandStringBytesMaskImprSrcSB(64)
8484
if !bytes.Equal(rawStrToBytes(s), StringToBytes(s)) {
8585
t.Fatal("don't match")

utils.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ func resolveAddress(addr []string) string {
162162

163163
// https://stackoverflow.com/questions/53069040/checking-a-string-contains-only-ascii-characters
164164
func isASCII(s string) bool {
165-
for i := 0; i < len(s); i++ {
165+
for i := range len(s) {
166166
if s[i] > unicode.MaxASCII {
167167
return false
168168
}

0 commit comments

Comments
 (0)