婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 一文搞懂Golang文件操作增刪改查功能(基礎篇)

一文搞懂Golang文件操作增刪改查功能(基礎篇)

熱門標簽:重慶慶云企業400電話到哪申請 上海極信防封電銷卡價格 湛江crm外呼系統排名 仙桃400電話辦理 宿遷便宜外呼系統代理商 地圖標注免費定制店 鄭州智能語音電銷機器人價格 不封卡外呼系統 寧波語音外呼系統公司

前言

目前,Golang 可以認為是服務器開發語言發展的趨勢之一,特別是在流媒體服務器開發中,已經占有一席之地。很多音視頻技術服務提供商也大多使用 Golang 語言去做自己的后臺服務開發,業內貌似已經達成了某種共識。今天我們不聊特別深奧的機制和內容,就來聊一聊 Golang 對于文件的基本操作。

正文

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

好了,言歸正傳,說到文件操作,應該是任何一種語言的基本操作了。那么,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 的文本文件。是不是非常簡單?好,那我們看下一步。

修改文件

接下來,我們在上邊的代碼基礎上繼續完善,實現對文件的修改。我們知道新創建的 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 中的信息是不是真的就是我們想要的內容。(魯迅曾經說過:程序員還是嚴謹一些比較好,不然實際工作中會吃虧的

查詢文件

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

這個過程也屬于常規操作,但是我們需要用到一個工具包——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才是我們當地的時間。

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

刪除文件

這個相對就簡單多了,直接利用 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 對文件的“增”、“刪”、“改”、“查”,對文件的常規操作也基本掌握了。本人是一個流媒體服務器后端開發,吃飯的語言是C++、Go和Node.js,了解更多音視頻和流媒體知識,歡迎關注我,謝謝。

到此這篇關于一文搞懂Golang文件操作增刪改查功能(基礎篇)的文章就介紹到這了,更多相關go增刪改查內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python+Django+MySQL實現基于Web版的增刪改查的示例代碼
  • Django-Model數據庫操作(增刪改查、連表結構)詳解
  • java連接mongoDB并進行增刪改查操作實例詳解
  • PHP操作MongoDB實現增刪改查功能【附php7操作MongoDB方法】
  • Django中ORM表的創建和增刪改查方法示例
  • nodejs操作mongodb的增刪改查功能實例
  • Go語言文件操作的方法

標簽:西雙版納 儋州 物業服務 海南 安康 青海 遼寧 電子產品

巨人網絡通訊聲明:本文標題《一文搞懂Golang文件操作增刪改查功能(基礎篇)》,本文關鍵詞  一文,搞懂,Golang,文件,操作,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《一文搞懂Golang文件操作增刪改查功能(基礎篇)》相關的同類信息!
  • 本頁收集關于一文搞懂Golang文件操作增刪改查功能(基礎篇)的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    67194成人在线观看| 亚洲欧美日韩电影| 久久精品男人天堂av| 亚洲久草在线视频| 亚洲一区二区四区蜜桃| 国产不卡高清在线观看视频| 欧美二区在线观看| 国产精品久久久久久久久搜平片| 免费观看91视频大全| 色婷婷av一区| 自拍偷拍国产亚洲| 精品视频在线视频| 亚洲一区二区三区四区五区中文| 国产一区二区精品久久91| 日韩精品中文字幕一区| 有码一区二区三区| 欧美视频一区二| 日韩国产精品久久久| 欧美精品一级二级三级| 亚洲国产欧美日韩另类综合| 欧美日韩一区中文字幕| 亚洲第一二三四区| 国产精品女人毛片| 成人网在线免费视频| 欧美男人的天堂一二区| 日本麻豆一区二区三区视频| 日韩视频在线永久播放| 国产成人免费在线观看| 日韩欧美一区在线| 国产一区二区在线电影| 国产精品久久久99| 欧美美女网站色| 国产精品中文有码| 亚洲激情男女视频| 91精品国产日韩91久久久久久| 国产毛片精品一区| 亚洲成a人片在线观看中文| 欧美精品一区男女天堂| www..com久久爱| 韩国视频一区二区| 日本女人一区二区三区| 一区二区三区.www| 蜜桃一区二区三区在线| 99精品欧美一区二区三区综合在线| 欧美韩国日本一区| 蜜臀av一级做a爰片久久| 午夜欧美大尺度福利影院在线看| 亚洲日韩欧美一区二区在线| 国产三级精品三级| 成人免费在线播放视频| 亚洲成人免费av| 国产综合色在线| 亚洲国产精品天堂| 黄页网站大全一区二区| 国产a精品视频| 91福利精品视频| 精品福利二区三区| 亚洲日韩欧美一区二区在线| 天天综合色天天综合色h| 国产精品自拍毛片| 欧美日韩视频在线观看一区二区三区| 99国产精品久久| 色视频欧美一区二区三区| 91视频精品在这里| 欧美日韩免费观看一区二区三区 | 欧美三级电影在线观看| 中文字幕av不卡| 欧美韩国日本一区| 亚洲综合男人的天堂| 日本午夜一本久久久综合| 国产在线视频精品一区| 7777女厕盗摄久久久| 亚洲精品国产成人久久av盗摄| 国产一区二区在线视频| 欧美色图天堂网| 亚洲综合一二区| 欧洲生活片亚洲生活在线观看| 国产精品久久夜| 99视频精品全部免费在线| 国产精品美日韩| 成人18精品视频| 中文一区一区三区高中清不卡| 国产精品一二三四五| 国产欧美日韩视频在线观看| 国产精品自在欧美一区| 亚洲国产精品激情在线观看| 国产一区中文字幕| 亚洲国产精品v| 91亚洲国产成人精品一区二区三| 日本一区二区视频在线| 色欧美日韩亚洲| 成人激情免费网站| 专区另类欧美日韩| 欧美性受极品xxxx喷水| 日韩成人精品在线观看| 欧美高清在线一区| 欧美性大战久久久久久久| 亚洲地区一二三色| 久久夜色精品国产欧美乱极品| 不卡的电影网站| 免费高清成人在线| 亚洲乱码中文字幕| 久久久美女毛片| 欧美日韩一区二区三区高清| 国产成a人亚洲| 偷拍一区二区三区四区| 自拍偷拍欧美精品| 日韩精品一区二区三区在线播放 | 日韩一区二区精品葵司在线 | 国产一区二区伦理| 亚洲小说欧美激情另类| 久久福利资源站| 亚洲欧美精品午睡沙发| 国产日韩精品视频一区| 欧美日韩国产精选| youjizz久久| 懂色av一区二区三区免费看| 美腿丝袜亚洲综合| 视频一区在线播放| 午夜精品成人在线视频| 亚洲国产aⅴ天堂久久| 亚洲乱码中文字幕| 亚洲免费看黄网站| 亚洲另类在线制服丝袜| 一区二区三区在线视频观看58| 国产精品久久看| 日本一区二区三区高清不卡| 久久精品人人爽人人爽| 久久久亚洲欧洲日产国码αv| 日韩欧美国产一区二区在线播放| 欧美精选在线播放| 91精品一区二区三区久久久久久| 欧美精品在线观看播放| 日韩一卡二卡三卡四卡| 精品99久久久久久| 中文字幕佐山爱一区二区免费| 一区二区三区精密机械公司| 亚洲一区二区三区美女| 男女男精品视频| 久久亚区不卡日本| 久久久久高清精品| 亚洲日穴在线视频| 午夜电影一区二区三区| 国产精品91一区二区| 91麻豆成人久久精品二区三区| 在线中文字幕一区| 久久女同互慰一区二区三区| 国产精品美女久久久久av爽李琼| 夜夜揉揉日日人人青青一国产精品| 五月天激情综合网| 成人黄色a**站在线观看| 欧美日韩精品一区二区| 久久精品视频一区二区三区| 亚洲日本乱码在线观看| 久久丁香综合五月国产三级网站 | 高清不卡一二三区| 555夜色666亚洲国产免| 成人欧美一区二区三区在线播放| 香蕉成人啪国产精品视频综合网| 日韩高清国产一区在线| av激情亚洲男人天堂| 欧美日本一区二区| 亚洲精品乱码久久久久久久久| 国产成人综合网站| 精品成人佐山爱一区二区| 午夜视频在线观看一区| 色综合久久99| 亚洲蜜桃精久久久久久久| 岛国一区二区在线观看| 国产欧美一区二区精品秋霞影院 | 精品国产一区二区三区久久久蜜月| 国产精品不卡一区二区三区| 国产成人免费av在线| 国产精品久久久久久福利一牛影视| 成人网页在线观看| 日韩美女精品在线| 欧美中文字幕一二三区视频| 三级成人在线视频| 精品伦理精品一区| aaa欧美大片| 午夜精品久久久久久不卡8050| 4438x亚洲最大成人网| 精品亚洲成a人| 亚洲欧美激情小说另类| 7878成人国产在线观看| 成人午夜电影小说| 亚洲一级二级在线| 久久综合视频网| 欧美三级韩国三级日本一级| 韩国女主播成人在线| 亚洲自拍与偷拍| 精品区一区二区| 欧洲精品中文字幕| 国产一区免费电影| 亚洲一区二区综合| 中文字幕一区二区三区在线不卡 | 久久99国产精品免费| 亚洲人成网站在线| 精品国产乱码久久久久久1区2区| 91日韩精品一区|