亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Golang文件操作增刪改查功能的示例分析

發布時間:2021-04-16 10:37:30 來源:億速云 閱讀:183 作者:小新 欄目:開發技術

這篇文章主要介紹Golang文件操作增刪改查功能的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

正文

開始之前,講一個非常有意思的小橋段。最開始接觸 Golang 這種語言的時候,我總感覺它和 Google 單詞比較像,所以一度懷疑二者有什么聯系。后來一查才發現,二者確實有聯系,暈… …因為 Golang 語言就是 Google 公司推出的。這種推廣模式,讓我想起了“旺仔牛奶”和“旺子牛奶”。
Golang文件操作增刪改查功能的示例分析

好了,言歸正傳,說到文件操作,應該是任何一種語言的基本操作了。那么,Golang 是如何操作文件的呢?

使用 Golang 操作文件時,我們可以理解成對數據庫的基礎操作——增、刪、改、查,它們分別對應創建文件、刪除文件、修改文件內容、查詢文件內容和信息。

今天我們介紹的主要內容,根據下面的流程圖進行展開。

接下來,我們就分別從這四個維度介紹 Golang 是如何操作文件的。

創建文件

首先,我們來創建一個文件 test.txt。在 Golang 中,我們可以使用 os 包來完成文件的創建,其中有專門的文件創建方法——Create()。注意,我們需要提前導入依賴包,具體使用方式可以參考下面的代碼。

代碼實例:

package main

import (
	"fmt" 
	"os"
)
func main() {
   	fmt.Println("開始創建一個文本文件test.txt")
	if _, err := os.Create("test.txt"); err == nil {
		fmt.Println("文件創建成功。。。")
	} else {
		fmt.Println("文件創建失敗。。。")
	}
}

代碼執行結果如下:

開始創建一個文本文件test.txt
文件創建成功。。。

通過結果,我們可以看到,我們已經成功創建了一個名為 test.txt 的文本文件。是不是非常簡單?好,那我們看下一步。

Golang文件操作增刪改查功能的示例分析

修改文件

接下來,我們在上邊的代碼基礎上繼續完善,實現對文件的修改。我們知道新創建的 test.txt 的文本文件的內容肯定是空的,里邊什么信息都沒有,我們現在寫一些內容進去。

其實,寫入內容到文件中也非常簡單。通過我們創建文件時,返回的 File 對象,我們可以利用它自帶的 Write() 方法把需要的內容寫入到文件中。下面一樣,我們通過一段代碼來了解這個過程。

代碼實例:

package main

import (
	"fmt"
	"os"
)
func main() {
   	fmt.Println("開始創建一個文本文件test.txt")
	if f, err := os.Create("test.txt"); err == nil {
		fmt.Println("文件創建成功。。。")
		// 將要寫入文本的內容
		_, err=f.Write([]byte("大家好,我是劉振,CSDN博客專家,音視頻領域研發博主,主頁地址:https://liuzhen.blog.csdn.net/,歡迎騷擾!!!"))
		if err == nil {
			fmt.Println("文件寫入內容成功。。。")
		}
	} else {
		fmt.Println("文件創建失敗!")
	}
}

代碼執行結果:

開始創建一個文本文件test.txt
文件創建成功。。。
文件寫入內容成功。。。

通過執行結果,我們知道我們把相應的信息(大家好,我是劉振,CSDN博客專家,音視頻領域研發博主,主頁地址:https://liuzhen.blog.csdn.net/,歡迎騷擾!!!)寫入到 test.txt 文件中了。但是我們還是懷疑文件 test.txt 中的信息是不是真的就是我們想要的內容。(魯迅曾經說過:程序員還是嚴謹一些比較好,不然實際工作中會吃虧的

Golang文件操作增刪改查功能的示例分析

查詢文件

上面的執行結果是說明相應的內容寫入到了文件中,但是不夠直觀。接下來,我們查詢一下文件的內容,進一步確認文件中寫入了相應的內容。

這個過程也屬于常規操作,但是我們需要用到一個工具包——io/ioutil,這是一個和文件讀寫相關的工具集,當我們操作文件時非常推薦使用它。今天,我們就熟悉一下它的使用。讀取文件內容的話,我們主要使用它的 ReadFile() 方法。下面我們通過代碼了解一下吧。

代碼實例:

package main

import (
	"fmt"
	"os"
	"io/ioutil"
)
func main() {
   	fmt.Println("開始創建一個文本文件test.txt")
	if f, err := os.Create("test.txt"); err == nil {
		fmt.Println("文件創建成功。。。")
		// 將要寫入文本的內容
		_, err=f.Write([]byte("大家好,我是劉振,CSDN博客專家,音視頻領域研發博主,主頁地址:https://liuzhen.blog.csdn.net/,歡迎騷擾!!!"))
		if err == nil {
			fmt.Println("文件寫入內容成功。。。")
		}
		bytes, err := ioutil.ReadFile("test.txt")
        if err == nil {
			fmt.Println("test.txt文件的內容:",string(bytes))
		} else {
			fmt.Println(err)
		}
	} else {
		fmt.Println("文件創建失敗!")
	}
}

代碼執行結果:

開始創建一個文本文件test.txt
文件創建成功。。。
文件寫入內容成功。。。
test.txt文件的內容: 大家好,我是劉振,CSDN博客專家,音視頻領域研發博主,主頁地址:https://liuzhen.blog.csdn.net/,歡迎騷擾!!!

結果證明,上一步確實修改了文件的內容,把我們想要的內容輸入到了文本文件中。同時,通過上面的代碼也實現了查詢文件內容的功能。

其實,我們除了查看文件包含的內容外,還可以查看文件的一些基本信息,比如名稱、大小、創建時間等。下面來看看我們都可以獲取哪些文件基本信息吧。

上代碼:

package main

import (
	"fmt"
	"os"
	"io/ioutil"
)
func main() {
   	fmt.Println("開始創建一個文本文件test.txt")
	if f, err := os.Create("test.txt"); err == nil {
		fmt.Println("文件創建成功。。。")
		// 將要寫入文本的內容
		_, err=f.Write([]byte("大家好,我是劉振,CSDN博客專家,音視頻領域研發博主,主頁地址:https://liuzhen.blog.csdn.net/,歡迎騷擾!!!"))
		if err == nil {
			fmt.Println("文件寫入內容成功。。。")
		}
		bytes, err := ioutil.ReadFile("test.txt")
        if err == nil {
			fmt.Println("test.txt文件的內容:",string(bytes))
		} else {
			fmt.Println(err)
		}
		// 查詢文件基本信息
		fileinfo, err := os.Stat("test.txt")
		if err == nil {
			fmt.Println("文件名稱:", fileinfo.Name())
			fmt.Println("文件大小:", fileinfo.Size())
			fmt.Println("文件權限:", fileinfo.Mode())
			fmt.Println("文件修改時間:", fileinfo.ModTime())
			fmt.Println("是否為文件夾:", fileinfo.IsDir())
		} else {
			fmt.Println("獲取文件信息失敗!")
		}
	} else {
		fmt.Println("文件創建失敗!")
	}
}

代碼執行結果:

開始創建一個文本文件test.txt
文件創建成功。。。
文件寫入內容成功。。。
test.txt文件的內容: 大家好,我是劉振,CSDN博客專家,音視頻領域研發博主,主頁地址:https://liuzhen.blog.csdn.net/,歡迎騷擾!!!
文件名稱: test.txt
文件大小: 145
文件權限: -rw-r--r--
文件修改時間: 2021-04-15 08:51:38.777811891 +0000 UTC
是否為文件夾: false

嗯,不錯,新創建的 test.txt 文本文件大小是145字節,注意:修改時間返回的是0區時間,中國在東八區,還需要加8才是我們當地的時間。

目前為止,我們已經實現了對文件的“增”、“改”、“查”操作,接下來就看“刪”操作吧。

Golang文件操作增刪改查功能的示例分析

刪除文件

這個相對就簡單多了,直接利用 os 包的 Remove() 方法,好了,看代碼吧。

代碼實例:

package main

import (
	"fmt"
	"os"
	"io/ioutil"
)
func main() {
   	fmt.Println("開始創建一個文本文件test.txt")
	if f, err := os.Create("test.txt"); err == nil {
		fmt.Println("文件創建成功。。。")
		// 將要寫入文本的內容
		_, err=f.Write([]byte("大家好,我是劉振,CSDN博客專家,音視頻領域研發博主,主頁地址:https://liuzhen.blog.csdn.net/,歡迎騷擾!!!"))
		if err == nil {
			fmt.Println("文件寫入內容成功。。。")
		}
		bytes, err := ioutil.ReadFile("test.txt")
        if err == nil {
			fmt.Println("test.txt文件的內容:",string(bytes))
		} else {
			fmt.Println(err)
		}
		err = os.Remove("test.txt")
		if err == nil {
			fmt.Println("文件刪除成功。。。")
		} else {
			fmt.Println("文件刪除失敗!")
		}
	} else {
		fmt.Println("文件創建失敗!")
	}
}

代碼執行結果:

開始創建一個文本文件test.txt
文件創建成功。。。
文件寫入內容成功。。。
test.txt文件的內容: 大家好,我是劉振,CSDN博客專家,音視頻領域研發博主,主頁地址:https://liuzhen.blog.csdn.net/,歡迎騷擾!!!
文件刪除成功。。。

根據執行結果,我們確實把文本文件 test.txt 刪除了。本著嚴謹的態度,我們不妨再進一步驗證一下。增加文件是否存在的校驗邏輯進去,看看代碼執行結果。

好了,說干就干!

實例代碼:

package main

import (
	"fmt"
	"os"
	"io/ioutil"
)
func main() {
   	fmt.Println("開始創建一個文本文件test.txt")
	if f, err := os.Create("test.txt"); err == nil {
		fmt.Println("文件創建成功。。。")
		// 將要寫入文本的內容
		_, err=f.Write([]byte("大家好,我是劉振,CSDN博客專家,音視頻領域研發博主,主頁地址:https://liuzhen.blog.csdn.net/,歡迎騷擾!!!"))
		if err == nil {
			fmt.Println("文件寫入內容成功。。。")
		}
		bytes, err := ioutil.ReadFile("test.txt")
        if err == nil {
			fmt.Println("test.txt文件的內容:",string(bytes))
		} else {
			fmt.Println(err)
		}
		err = os.Remove("test.txt")
		if err == nil {
			fmt.Println("文件刪除成功。。。")
		} else {
			fmt.Println("文件刪除失敗!")
		}
		fileInfo, e := os.Stat("test.txt")
		if fileInfo != nil && e == nil {
			fmt.Println("我檢查了,文件還存在")
		} else if os.IsNotExist(e) {
			fmt.Println("我檢查了,文件確實刪除了")
		}	
	} else {
		fmt.Println("文件創建失敗!")
	}
}

代碼執行結果:

開始創建一個文本文件test.txt
文件創建成功。。。
文件寫入內容成功。。。
test.txt文件的內容: 大家好,我是劉振,CSDN博客專家,音視頻領域研發博主,主頁地址:https://liuzhen.blog.csdn.net/,歡迎騷擾!!!
文件刪除成功。。。
我檢查了,文件確實刪除了

嗯嗯,看到 “我檢查了,文件確實刪除了” 這里,我就放心了。想必,大家也都安心了。

以上是“Golang文件操作增刪改查功能的示例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

go
AI

恩施市| 岗巴县| 康平县| 宕昌县| 鄂托克旗| 和平区| 巴林左旗| 潞城市| 保定市| 临夏县| 五华县| 奉化市| 湘西| 阳谷县| 武强县| 琼海市| 霍林郭勒市| 改则县| 海盐县| 濮阳市| 普洱| 定州市| 正蓝旗| 商都县| 社旗县| 织金县| 石阡县| 枣庄市| 咸宁市| 绥芬河市| 永吉县| 河曲县| 白朗县| 乌鲁木齐市| 北辰区| 类乌齐县| 南岸区| 阳信县| 乌拉特后旗| 迭部县| 池州市|