Files
supersonic/backend/util/util.go
T

40 lines
585 B
Go

package util
import (
"io"
"math/rand"
"os"
"time"
)
// Return a slice of range [0, n)
func Range(n int) []int {
s := make([]int, n)
for i := 0; i < n; i++ {
s[i] = i
}
return s
}
func ShuffleSlice(a []int) {
rand.Seed(time.Now().UnixNano())
rand.Shuffle(len(a), func(i, j int) { a[i], a[j] = a[j], a[i] })
}
func CopyFile(srcPath, dstPath string) error {
fin, err := os.Open(srcPath)
if err != nil {
return err
}
defer fin.Close()
fout, err := os.Create(dstPath)
if err != nil {
return err
}
defer fout.Close()
_, err = io.Copy(fout, fin)
return err
}