Go語言實現在檔案中插入內容

2021-10-13 12:52:34 字數 989 閱讀 8601

目錄結構:

123.txt(大家準備個此名的檔案,內容隨便)

123456

abcefg

main.go

package main

import (

"fmt"

"io"

"os"

)func editfile()

// 臨時檔案

tmpfile, err := os.openfile("./123.tmp", os.o_create|os.o_wronly|os.o_trunc, 0644)

if err != nil

// 指定在什麼位置插入內容

// 讀取游標前的內容寫到臨時檔案

var b [3]byte

// read函式傳入乙個陣列並把內容寫到陣列裡

n, err := srcfile.read(b[:])

if err != nil

tmpfile.write(b[:n])

// 把插入的內容也寫到臨時檔案

tmpfile.writestring("hello")

// 把原始檔游標後的內容也寫入到臨時檔案

var x [1024]byte

for

if err != nil

tmpfile.write(x[:n])

} tmpfile.close()

srcfile.close()

// 使用os.rename不能使用defer語句去關閉檔案控制代碼,因為defer語句是在函式指定完去執行,但是rename操作需要時需要先關閉控制代碼

ok := os.rename("./123.tmp", "./123.txt")

if ok == nil else

}func main()

go語言實現排序 插入排序

相信大家對直接插入排序都不陌生,通俗來說就是每次取要排序陣列內的第i個數,在前i 1個數中,進行比較,找到正確的位置,插入即可。func insert nums int,n int int nums end 1 num return nums 分析 對於直接插入排序,平均時間複雜為o n 2 空間複...

go語言實現檔案傳輸

傳送端 ackagemain import fmt io net os funcmain 獲取檔案屬性 f,err file.stat fmt.println f.name f.size 主動連線伺服器 conn,err net.dial tcp 127.0.0.1 8000 iferr nil 檔...

Go語言實現檔案的斷點續傳

注釋在 中 package main import fmt io log os strconv strings func main 寫入目標檔案 n3,err file2.write data n2 讀取總量相加 total n3 將複製的總量,儲存在臨時檔案中,從頭開始寫 file3.seek 0...