欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

golang如何刪除文件

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

十載的鄒平網(wǎng)站建設經(jīng)驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。網(wǎng)絡營銷推廣的優(yōu)勢是能夠根據(jù)用戶設備顯示端的尺寸不同,自動調(diào)整鄒平建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)從事“鄒平網(wǎng)站設計”,“鄒平網(wǎng)站推廣”以來,每個客戶項目都認真落實執(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() 方法刪除一個文件,因為我們要用代碼進行驗證,在刪除前,我們首先需要創(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)介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內(nèi)容的文章,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

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

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

廣告

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

手機網(wǎng)站建設