go語言之高階篇拷貝檔案案例

2022-07-05 04:36:11 字數 839 閱讀 5917

1、檔案案例:拷貝檔案

示例:

package main

import (

"fmt"

"io"

"os"

)func main()

srcfilename = list[1]

drcfilename = list[1]

if srcfilename == drcfilename

//唯讀方式開啟原始檔

sf, err1 := os.open(srcfilename)

if err1 != nil

//新建目的檔案

df, err2 := os.create(srcfilename)

if err2 != nil

//操作完畢,需要關閉檔案

defer sf.close()

defer df.close()

//核心處理,從原始檔讀取內容,往目的檔案寫,讀多少寫多少

buf := make(byte 4*1024) //4k大小臨時緩衝區

for

fmt.println("err = ", err)

} //往目的檔案寫,讀多少寫多少

df.write(buf[:n])

}

執行結果:

#在cmd中執行:

d:\gofiles\src\hello_01>go run mai1.go 2.txt 1.txt

err = eof

拷貝效果如下:

go語言之高階篇建立goroutine協程

1 goroutine是什麼 goroutine是go並行設計的核心。goroutine說到底其實就是協程,但是它比執行緒更小,十幾個goroutine可能體現在底層就是五六個執行緒,go語言內部幫你實現了這些goroutine之間的記憶體共享。執行goroutine只需極少的棧記憶體 大概是4 5...

go語言之高階篇物件導向程式設計

1 物件導向程式設計 對於物件導向程式設計的支援go 語言設計得非常簡潔而優雅。因為,go語言並沒有沿襲傳統物件導向程式設計中的諸多概念,比如繼承 不支援繼承,儘管匿名欄位的記憶體布局和行為類似繼承,但它並不是繼承 虛函式 建構函式和析構函式 隱藏的this指標等。儘管go語言中沒有封裝 繼承 多型...

go連線mysql Go語言之高階篇連線mysql

一 go連線mysql 1 mysql驅動 說明 sql.open 函式用來開啟乙個註冊過的資料庫驅動,go mysql driver中註冊了 mysql這個資料庫驅動,第二個引數是dns,它是go mysql driver定義的一些資料庫鏈結和配置資訊。或 在cmd中執行安裝命令 3 建立資料庫 ...