目錄結構:
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...