Go語言程式建立新檔案
Go 語言有兩個內部函式——`os.Create` 和 `ioutil.WriteFile` 用於建立新檔案。“檔案”是指 Go 程式可以讀取或寫入的基於磁碟的檔案。在 Go 中,可以使用作業系統來表示檔案。`os` 包中的檔案型別提供了開啟、讀取、寫入和操作檔案的方法。
方法一:使用 `os.Create` 命令
在此方法中,`os.Create` 函式使用指定名稱建立新檔案或截斷現有檔案。函式執行完成後,使用 `defer` 命令關閉檔案。
語法
Os.Create
在 Go 程式語言中,`Create` 是 `os` 包的一部分,此函式建立一個新檔案,它包含一個引數,即要建立的檔名。
演算法
步驟 1 − 建立一個 `main` 包,並在程式中宣告 `fmt`(格式化包)和 `os` 包,其中 `main` 生成可執行程式碼,`fmt` 幫助格式化輸入和輸出。
步驟 2 − 在 `main` 函式中使用 `os.Create` 建立具有指定名稱的新檔案。該函式返回 `*File` 型別和錯誤值。
步驟 3 − 驗證錯誤值是否為零。如果它不是 `nil`,則列印錯誤並退出函式。
步驟 4 − 函式執行完成後,使用 `defer` 語句關閉檔案。
步驟 5 − 使用 `fmt.Println()` 函式(其中 `ln` 表示換行)列印訊息以顯示檔案已成功生成。
示例
在此示例中,我們將使用 `os.Create` 函式建立新檔案。讓我們來看一下程式碼。
package main import ( "fmt" "os" ) //create main function to execute the program func main() { file, err := os.Create("myfile.txt") //create a new file if err != nil { fmt.Println(err) return } defer file.Close() fmt.Println("File is created successfully.") //print the success on the console }
輸出
File is created successfully.
方法二:使用 `ioutil.WriteFile` 函式
在此方法中,該函式需要三個引數:檔名、將寫入檔案的位元組切片和檔案模式。在本例中,0644 代表 Unix 風格的檔案模式,它授予所有者讀、寫和讀訪問許可權,而授予其他人讀許可權。與 `os.Create` 方法相比,此方法更清晰、更容易使用,但對建立的檔案的控制較少。
語法
ioutil.WriteFile
在 Go 中,`WriteFile` 屬於 `ioutil` 包,包含三個引數:第一個是寫入資料的檔名,第二個是要寫入的資料,第三個是檔案許可權。如果函式執行成功,則資料將寫入檔案。
演算法
步驟 1 − 建立一個 `main` 包,並在程式中宣告 `fmt`(格式化包)和 `io/ioutil` 包,其中 `main` 生成可執行程式碼,`fmt` 幫助格式化輸入和輸出。
步驟 2 − 在 `main` 函式中使用 `ioutil.WriteFile` 函式建立具有給定名稱的新檔案,並將給定的位元組切片寫入其中。該函式返回一個錯誤值。
步驟 3 − 驗證錯誤值是否為零。如果它不是 `nil`,則列印錯誤並退出函式。
步驟 4 − 列印訊息以顯示檔案已成功生成。
示例
在此示例中,我們將使用 `ioutil.WriteFile` 建立新檔案。讓我們來看一下程式碼。
package main import ( "fmt" "io/ioutil" ) //create main function to execute the program func main() { err := ioutil.WriteFile("myfile.txt", []byte("Hello, alexa!"), 0644) //create a new file if err != nil { fmt.Println(err) return } fmt.Println("File is created successfully.") //print the success on the console }
輸出
File is created successfully.
結論
我們使用兩個示例執行了建立新檔案的程式。在第一個示例中,我們使用了 `os.Create` 命令,在第二個示例中,我們使用了 `ioutil.WriteFile` 命令來執行程式。