как заменить забавную c функцию (s, old, new [] bytes, n int) [] bytes, которая, учитывая три среза байтов s, old, new и целое число n, возвращает срез соответствующий s, в котором n-ое вхождение старого заменено новым. Если это вхождение не существует, функция возвращает s, не изменяя его? спасибо
import (
"fmt"
"os"
"strconv"
)
func main() {
s := os.Args[1]
old := os.Args[2]
new := os.Args[3]
n, _ := strconv.Atoi(os.Args[4])
fmt.Println(s)
replaced := replace([]byte(s), []byte(old), []byte(new), n)
fmt.Println(string(replaced))
}
func replace(s, old, new []byte, i int) (replaced []byte) {
}```