bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

golang如何刪除文件

本文小編為大家詳細(xì)介紹“golang如何刪除文件”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“golang如何刪除文件”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。

十載的鄒平網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。網(wǎng)絡(luò)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整鄒平建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)從事“鄒平網(wǎng)站設(shè)計”,“鄒平網(wǎng)站推廣”以來,每個客戶項目都認(rèn)真落實執(zhí)行。

在golang中,可以利用os包中內(nèi)置的Remove()或RemoveAll()函數(shù)來刪除文件,語法“os.Remove(path)”或“os.RemoveAll(path)”。在刪除文件時,RemoveAll()和Remove()方法沒有太大的區(qū)別;但是在刪除目錄時,Remove()只能刪除空目錄,而RemoveAll()不受任何限制,都可以刪除。

在golang中,文件刪除、文件創(chuàng)建、文件讀取和文件寫入等,幾乎所有的文件操作都是通過 os 包完成的。 所以如果要在 Golang 中管理文件,需要使用 Golang 內(nèi)置的 os 包。

要在 Golang 中刪除文件,請使用 os.Remove() 或os.RemoveAll()函數(shù)。 os.Remove()和os.RemoveAll()函 是內(nèi)置的 Golang 函數(shù),用于刪除文件。 提供該文件的文件路徑,可以刪除該文件。 它刪除命名文件或(空)目錄。

RemoveAll 函數(shù)跟 Remove 用法一樣,區(qū)別是會遞歸的刪除所有子目錄和文件。今天我們就來看看二者的具體差異有哪些。

刪除文件

os.Remove()

接下來,我們使用 os.Remove() 方法刪除一個文件,因為我們要用代碼進(jìn)行驗證,在刪除前,我們首先需要創(chuàng)建一個文件 test.txt,然后刪除它。下面是具體的代碼:

package main

import ( 
    "os"
    "fmt"
)
 
func main () {
 
	testFile := "test.txt"
	_, err := os.Create(testFile) //創(chuàng)建文件
	if err != nil {
		fmt.Println("文件創(chuàng)建失敗")
	}
	
        // 使用 os.Remove() 刪除文件
        err = os.Remove(testFile)
 
	if err != nil {
		fmt.Println("刪除失敗")
	} else {
		fmt.Println("刪除成功")
	}
}

os.RemoveAll()

好了,通過上面的例子,我們可以看到 os.Remove() 方法刪除文件還是很方便的。那么,我們接下來看看 os.RemoveAll() 表現(xiàn)如何,還是剛才的代碼,我們把刪除方法替換一下。修改后代碼如下:

package main

import (
	"os"
	"fmt"
)
 
func main () {
 
	testFile := "test.txt"
	_, err := os.Create(testFile) //創(chuàng)建文件
	if err != nil {
		fmt.Println("文件創(chuàng)建失敗")
	}
	
        // 使用 os.RemoveAll() 刪除文件
	err = os.RemoveAll(testFile)
 
	if err != nil {
		fmt.Println("刪除失敗")
	} else {
		fmt.Println("刪除成功")
	}
}

代碼執(zhí)行結(jié)果:

golang如何刪除文件

刪除目錄

os.Remove()

如果使用 os.Remove() 刪除目錄是什么效果呢?接下來直接看代碼!

實例代碼:

package main

import (
	"os"
	"fmt"
)
 
func main () {
 
	testDir := "d1/d2/d3"
	// 創(chuàng)建多級目錄
	err := os.MkdirAll(testDir, os.ModePerm)
	if 	err != nil {
		fmt.Println("文件創(chuàng)建失敗", err)
	}
        // 使用 os.Remove() 刪除文件
	err = os.Remove(testDir)
 
	if err != nil {
		fmt.Println("刪除失敗", err)
	} else {
		fmt.Println("刪除成功")
	}
}

代碼執(zhí)行結(jié)果:

golang如何刪除文件

os.RemoveAll()

那么,os.RemoveAll() 方法刪除目錄是什么效果呢?也直接看代碼吧!

實例代碼:

package main

import (
	"os"
	"fmt"
)
 
func main () {
 
	testDir := "d1/d2/d3"
	// 創(chuàng)建多級目錄
	err := os.MkdirAll(testDir, os.ModePerm)
	if 	err != nil {
		fmt.Println("文件創(chuàng)建失敗", err)
	}
        // 使用 os.RemoveAll() 刪除文件
	err = os.RemoveAll(testDir)
 
	if err != nil {
		fmt.Println("刪除失敗")
	} else {
		fmt.Println("刪除成功")
	}
}

代碼執(zhí)行結(jié)果:

golang如何刪除文件

現(xiàn)在發(fā)現(xiàn),刪除目錄時,兩種方法效果也一樣,是不是二者沒有差別呢?答案是否定的。還是上面刪除目錄代碼,如果我們刪除的不是目錄 d3,而是目錄 d2,會是什么結(jié)果呢?

修改代碼后,我們最終發(fā)現(xiàn) os.RemoveAll() 方法完全沒有問題,但是 os.Remove() 報錯了,報錯信息如下:

remove d1/d2/: directory not empty

是的,目錄 d2 不是空的,因為還有子目錄 d3,至此,我們終于發(fā)現(xiàn)了 os.RemoveAll() 和 os.Remove() 的差異是什么。

說明:

在刪除文件時,os.RemoveAll() 和 os.Remove() 方法沒有太大的區(qū)別。但是在刪除目錄時,os.Remove() 只能刪除空目錄,而 os.RemoveAll() 不受任何限制,都可以刪除。

讀到這里,這篇“golang如何刪除文件”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)站名稱:golang如何刪除文件
轉(zhuǎn)載源于:http://vcdvsql.cn/article32/poohsc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google企業(yè)建站定制開發(fā)云服務(wù)器面包屑導(dǎo)航網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)