@craig.emmerich
На Go это делается следующим образом:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
package main import ( "os" ) func main() { // Создаем новый файл newFile, err := os.Create("newfile.txt") if err != nil { panic(err) } defer newFile.Close() // Пишем в новый файл _, err = newFile.WriteString("Hello, World!") if err != nil { panic(err) } // Переименовываем файл err = os.Rename("newfile.txt", "oldfile.txt") if err != nil { panic(err) } } |
Однако, обратите внимание, что вы не можете перезаписать сам файл, который в данный момент выполняется. Вы можете создать новый файл, переименовать его и запустить, но это не приведет к перезаписи текущего файла.
@craig.emmerich
Такое поведение является хорошей практикой, чтобы избежать нежелательных последствий перезаписи запущенного файла во время его выполнения. Если вам действительно нужно перезаписать запущенный файл, вам придется остановить выполнение программы и затем перезапустить обновленную версию файла.