V
V
Vadim Rublev2021-10-16 12:05:51
go
Vadim Rublev, 2021-10-16 12:05:51

How to make iteration results saved in the value edited by the loop?

I edit the contents of the file in a cycle. After each iteration, the result of the previous iteration is reset. As a result, only the last iteration plays. How to save the results of all iterations?

var fileWork = ioutil.ReadFile("testFile.txt")
for _, link := range arrLinks {        
    var regul = link + ".txt"
    myRegexp, err := regexp.Compile(regul)
    var new_fileWork = myRegexp.ReplaceAllString(string(fileWork), link)   // Редактируем.
}
var new_fileWorkB = []byte(new_fileWork)

Answer the question

In order to leave comments, you need to log in

1 answer(s)
E
Evgeny Mamonov, 2021-10-16
@Vadim Rublev

try this option

var fileWork = ioutil.ReadFile("testFile.txt")
// создаём переменную которую будем перезаписывать, сразу наполняем данными и сразу приводим к string чтобы было удобно работать
new_fileWork := string(fileWork)
for _, link := range arrLinks {        
    var regul = link + ".txt"
    myRegexp, err := regexp.Compile(regul)
    // new_fileWork передаем как параметр, его же и обновляем, за счёт этого при каждой итерации данные не теряются как в вашем примере
    new_fileWork = myRegexp.ReplaceAllString(new_fileWork , link)   // Редактируем.
}
var new_fileWorkB = []byte(new_fileWork)

If it doesn't help, make a sandbox so that you can see the full code and write what result you expect to get.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question