Skip to content

Commit a261c65

Browse files
authored
Upgrade Go, use generics instead of interface, use slice.Equal and int range (#137)
1 parent cb47c27 commit a261c65

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+149
-159
lines changed

.github/linters/.golangci.yml

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,14 @@ issues:
1717
exclude-rules:
1818
- path: /
1919
linters:
20-
- nosnakecase
2120
- nlreturn
22-
- forcetypeassert
21+
- gci
22+
- gomnd
2323
- ifshort
24-
- scopelint
24+
- forcetypeassert
2525
- varnamelen
2626
- lll
2727
- testpackage
28-
- gomnd
2928
- wsl
3029
- gochecknoglobals
3130
- paralleltest
@@ -34,9 +33,6 @@ issues:
3433
- dupword
3534
linters:
3635
enable-all: true
37-
enable:
38-
- revive
39-
- misspell
4036

4137
linters-settings:
4238
forbidigo:

.github/workflows/tests.yaml

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@ jobs:
1010
lint:
1111
runs-on: ubuntu-latest
1212
steps:
13-
- uses: actions/checkout@v3
13+
- uses: actions/checkout@v4
1414
- uses: reviewdog/action-misspell@v1
1515
with:
1616
github_token: ${{ secrets.github_token }}
1717
locale: "US"
18-
- uses: github/super-linter@v4
18+
- uses: github/super-linter@v5
1919
env:
2020
DEFAULT_BRANCH: main
2121
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -30,15 +30,8 @@ jobs:
3030
tests:
3131
runs-on: ubuntu-latest
3232
steps:
33-
- uses: actions/checkout@v3
34-
- uses: actions/setup-go@v4
35-
- uses: actions/cache@v3
36-
with:
37-
path: |
38-
~/.cache/go-build
39-
~/go/pkg/
40-
~/go/bin/
41-
key: go-cache-${{ hashFiles('go.mod') }}
33+
- uses: actions/checkout@v4
34+
- uses: actions/setup-go@v5
4235
- run: go test -v -coverprofile=profile.cov ./...
4336
- uses: shogo82148/actions-goveralls@v1
4437
with:

array/add_two_numbers.go

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,7 @@ func AddTwoNumbers(num1, num2 []int) []int {
2525

2626
func equalizeLengths(num1, num2 []int) ([]int, []int) {
2727
diff := int(math.Abs(float64(len(num2) - len(num1))))
28-
zeros := []int{}
29-
for i := 0; i < diff; i++ {
30-
zeros = append(zeros, 0)
31-
}
28+
zeros := make([]int, diff)
3229
if len(num2) > len(num1) {
3330
num1 = append(zeros, num1...)
3431
} else if len(num1) > len(num2) {

array/add_two_numbers_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package array
22

33
import (
4-
"reflect"
4+
"slices"
55
"testing"
66
)
77

@@ -26,7 +26,7 @@ func TestAddTwoNumbers(t *testing.T) {
2626
{[]int{9, 9, 9}, []int{9, 9, 9}, []int{1, 9, 9, 8}},
2727
}
2828
for i, test := range tests {
29-
if got := AddTwoNumbers(test.num1, test.num2); !reflect.DeepEqual(got, test.sum) {
29+
if got := AddTwoNumbers(test.num1, test.num2); !slices.Equal(got, test.sum) {
3030
t.Fatalf("Failed test case #%d. Want %v got %v", i, test.sum, got)
3131
}
3232
}

array/bubble_sort_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package array
22

33
import (
4-
"reflect"
4+
"slices"
55
"testing"
66
)
77

@@ -27,7 +27,7 @@ func TestBubbleSort(t *testing.T) {
2727
}
2828
for i, test := range tests {
2929
BubbleSort(test.input)
30-
if !reflect.DeepEqual(test.input, test.sorted) {
30+
if !slices.Equal(test.input, test.sorted) {
3131
t.Fatalf("Failed test case #%d. Want %v got %v", i, test.sorted, test.input)
3232
}
3333
}

array/equal_sum_subarrays.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ func EqualSubArrays(list []int) [][]int {
2020

2121
func findSplitPoint(list []int) int {
2222
lSum := 0
23-
for i := 0; i < len(list); i++ {
23+
for i := range len(list) {
2424
lSum += list[i]
2525

2626
rSum := 0

array/insertion_sort_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package array
22

33
import (
4-
"reflect"
4+
"slices"
55
"testing"
66
)
77

@@ -28,7 +28,7 @@ func TestInsertionSort(t *testing.T) {
2828
}
2929
for i, test := range tests {
3030
InsertionSort(test.input)
31-
if !reflect.DeepEqual(test.input, test.sorted) {
31+
if !slices.Equal(test.input, test.sorted) {
3232
t.Fatalf("Failed test case #%d. Want %v got %v", i, test.sorted, test.input)
3333
}
3434
}

array/product_of_all_other_elements_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package array
22

33
import (
4-
"reflect"
4+
"slices"
55
"testing"
66
)
77

@@ -26,7 +26,7 @@ func TestProductOfAllOtherElements(t *testing.T) {
2626
}
2727

2828
for i, test := range tests {
29-
if got := ProductOfAllOtherElements(test.list); !reflect.DeepEqual(got, test.products) {
29+
if got := ProductOfAllOtherElements(test.list); !slices.Equal(got, test.products) {
3030
t.Fatalf("Failed test case #%d. Want %#v got %#v", i, test.products, got)
3131
}
3232
}

array/reverse_inplace_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package array
22

33
import (
4-
"reflect"
4+
"slices"
55
"testing"
66
)
77

@@ -31,7 +31,7 @@ func TestReverseInPlace(t *testing.T) {
3131

3232
for i, test := range tests {
3333
ReverseInPlace(test.list, test.start, test.end)
34-
if !reflect.DeepEqual(test.list, test.reversed) {
34+
if !slices.Equal(test.list, test.reversed) {
3535
t.Fatalf("Failed test case #%d. Want %#v got %#v", i, test.reversed, test.list)
3636
}
3737
}

array/rotate_k_steps_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package array
22

33
import (
4-
"reflect"
4+
"slices"
55
"testing"
66
)
77

@@ -27,7 +27,7 @@ func TestRotateKSteps(t *testing.T) {
2727

2828
for i, test := range tests {
2929
RotateKSteps(test.list, test.steps)
30-
if !reflect.DeepEqual(test.list, test.rotatedList) {
30+
if !slices.Equal(test.list, test.rotatedList) {
3131
t.Fatalf("Failed test case #%d. Want %#v got %#v", i, test.rotatedList, test.list)
3232
}
3333
}

0 commit comments

Comments
 (0)