最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

goland 恢復(fù)已更改文件的操作

 更新時(shí)間:2021年04月28日 10:39:43   作者:瘋狂學(xué)者  
這篇文章主要介紹了goland 恢復(fù)已更改文件的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧

1、查看歷史更改文件

點(diǎn)擊項(xiàng)目名,右鍵,選擇Local History。

在這里插入圖片描述

或點(diǎn)擊項(xiàng)目名再點(diǎn)擊VXA,選擇Local History。

點(diǎn)擊VCS

然后選擇Show History

歷史刪除文件

2、恢復(fù)歷史已更改文件

選擇你想要恢復(fù)的文件,右鍵選擇Revert,最后就會(huì)恢復(fù)到原來(lái)的位置了。

在這里插入圖片描述

補(bǔ)充:goland文件處理

golang是優(yōu)秀的軟件編程語(yǔ)言,由于golang很好的兼容各個(gè)系統(tǒng),我經(jīng)常使用golang寫工具。

寫工具經(jīng)常會(huì)用到文件處理,io操作。

FileInfo接口

在遍歷文件夾的時(shí)候回經(jīng)常用到FileInfo接口

type FileInfo interface {
 Name() string       // 文件名稱
 Size() int64        // 文件大小
 Mode() FileMode     // file mode bits
 ModTime() time.Time // modification time
 IsDir() bool        // 是否文件夾
 Sys() interface{}   // underlying data source (can return nil)
}

遍歷文件

通過ioutil.ReadDir(src),可以讀取到當(dāng)前文件列表

func ReadDir(src string) {
 files, err := ioutil.ReadDir(src)
 if err != nil {
  fmt.Println(err)
  return
 }
 for _, file := range files {
  if file.IsDir() {
   // 是文件夾
  }else{
            // 是文件
        }
 }
}

遍歷文件夾下所有文件

通過filepath.Walk方法遞歸讀取文件夾和子文件,方便復(fù)制整個(gè)文件夾內(nèi)容

func ReadDeepDir(src string) {
 err := filepath.Walk(src, func(path string, file os.FileInfo, err error) error {
  if file == nil {
   return err
  }
  fmt.Println(path)
  return nil
 })
 if err != nil {
  fmt.Printf(err.Error())
 }
}

路徑操作相關(guān)方法

func dir(src string)  {
 // 獲取路徑指向文件夾名稱
 filepath.Base(src)
 
 // 獲取文件所在的路徑
 filepath.Dir(src)
 
 // 獲取文件擴(kuò)展名
 filepath.Ext(src)
 
 // 獲取文件名稱
 name := strings.Replace(filepath.Base(src),filepath.Ext(src),"",1)
 
 // 絕對(duì)路徑
 absPath,_ := filepath.Abs("")
 
 // 相對(duì)路徑
 relPath,_ := filepath.Rel("","")
 
 // 路徑拼接
 filepath.Join("basepath","appendpath")
}

文件操作

func operation(src string)  {
 // 創(chuàng)建文件夾
 _= os.Mkdir("xxx",os.ModePerm)
 
 // 刪除單個(gè)文件,不能刪除文件夾
 _ = os.Remove("xxx")
 
 // 刪除文件夾或者文件
 _ = os.RemoveAll("xxx")
 
 // 重命名文件
 _ = os.Rename("xxx","qqqq")
}

使用ioutil文件讀寫

func fileop()  {
 // 讀取文件,整個(gè)文件讀取到內(nèi)存,不能讀取大文件
 ioutil.ReadFile("filename")
 // 文件寫入,每次都會(huì)新創(chuàng)建文件寫入所有的內(nèi)容,所以會(huì)覆蓋之前的文件
 ioutil.WriteFile("filename",[]byte{},os.ModePerm)
}

大文件的讀寫,相當(dāng)于一個(gè)拷貝功能

func copy() {
 fr, err := os.Open("")
 if err != nil{
  fmt.Println("open err")
  return
 }
 defer fr.Close()
 
 fw, err := os.Create("")
 if err != nil {
  fmt.Println("create file error")
  return
 }
 buf := make([]byte, 1024)
 for {
  n, err := fr.Read(buf)
  if err != nil && err == io.EOF {
   fmt.Println("讀完")
  }
  _,_=fw.Write(buf[:n])
 }
}
 

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • go語(yǔ)言通過反射獲取和設(shè)置結(jié)構(gòu)體字段值的方法

    go語(yǔ)言通過反射獲取和設(shè)置結(jié)構(gòu)體字段值的方法

    這篇文章主要介紹了go語(yǔ)言通過反射獲取和設(shè)置結(jié)構(gòu)體字段值的方法,實(shí)例分析了Go語(yǔ)言反射的使用技巧,需要的朋友可以參考下
    2015-03-03
  • Golang與其他語(yǔ)言不同的九個(gè)特性

    Golang與其他語(yǔ)言不同的九個(gè)特性

    近來(lái)關(guān)于對(duì)Golang的討論有很多,七牛的幾個(gè)大牛們也斷定Go語(yǔ)言在未來(lái)將會(huì)快速發(fā)展,并且很可能會(huì)取代Java成為互聯(lián)網(wǎng)時(shí)代最受歡迎的編程語(yǔ)言。本文將帶你了解它不同于其他語(yǔ)言的九個(gè)特性
    2021-09-09
  • Golang中處理import自定義包出錯(cuò)問題的解決辦法

    Golang中處理import自定義包出錯(cuò)問題的解決辦法

    最近開始使用Go/GoLand在import自定義包時(shí)出現(xiàn)各種狀況,下面這篇文章主要給大家介紹了關(guān)于Golang中處理import自定義包出錯(cuò)問題的解決辦法,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11
  • Go語(yǔ)言kylin任務(wù)自動(dòng)化實(shí)例詳解

    Go語(yǔ)言kylin任務(wù)自動(dòng)化實(shí)例詳解

    這篇文章主要為大家介紹了Go語(yǔ)言kylin任務(wù)自動(dòng)化實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • Go 實(shí)現(xiàn)熱重啟的詳細(xì)介紹

    Go 實(shí)現(xiàn)熱重啟的詳細(xì)介紹

    這篇文章主要介紹了Go 實(shí)現(xiàn)熱重啟的詳細(xì)介紹,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09
  • Golang實(shí)現(xiàn)Redis網(wǎng)絡(luò)協(xié)議實(shí)例探究

    Golang實(shí)現(xiàn)Redis網(wǎng)絡(luò)協(xié)議實(shí)例探究

    這篇文章主要為大家介紹了Golang實(shí)現(xiàn)Redis網(wǎng)絡(luò)協(xié)議實(shí)例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • Go?Error?嵌套實(shí)現(xiàn)創(chuàng)建方式

    Go?Error?嵌套實(shí)現(xiàn)創(chuàng)建方式

    這篇文章主要介紹了Go?Error?嵌套到底是怎么實(shí)現(xiàn)的?大家都知道創(chuàng)建error有兩種方式分別是errors.new()另一種是fmt.errorf(),本文通過詳細(xì)例子給大家介紹,需要的朋友可以參考下
    2022-01-01
  • go實(shí)現(xiàn)grpc四種數(shù)據(jù)流模式

    go實(shí)現(xiàn)grpc四種數(shù)據(jù)流模式

    這篇文章主要為大家介紹了go實(shí)現(xiàn)grpc四種數(shù)據(jù)流模式,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2022-04-04
  • Go 實(shí)現(xiàn)基于Token 的登錄流程深度分析

    Go 實(shí)現(xiàn)基于Token 的登錄流程深度分析

    Token 認(rèn)證機(jī)制的核心思想是,服務(wù)端在用戶登錄時(shí)生成一個(gè) Token,客戶端在后續(xù)的請(qǐng)求中攜帶這個(gè) Token,服務(wù)端通過驗(yàn)證 Token 的有效性來(lái)確認(rèn)用戶的身份,本文將帶你深入探索基于 Token 的登錄流程,這是一種更為靈活且適用于現(xiàn)代應(yīng)用架構(gòu)的認(rèn)證方式
    2024-03-03
  • Go語(yǔ)言非main包編譯為靜態(tài)庫(kù)并使用的示例代碼

    Go語(yǔ)言非main包編譯為靜態(tài)庫(kù)并使用的示例代碼

    本文以Windows為例,介紹一下如何將Go的非main包編譯為靜態(tài)庫(kù),用戶又將如何使用。通過實(shí)際項(xiàng)目創(chuàng)建常規(guī)工程,通過示例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2021-07-07

最新評(píng)論

东乌珠穆沁旗| 丰宁| 龙胜| 开化县| 枣庄市| 宝应县| 徐汇区| 洪泽县| 毕节市| 阿荣旗| 寻甸| 温宿县| 申扎县| 咸丰县| 黔江区| 稻城县| 辰溪县| 筠连县| 商河县| 昌黎县| 宁乡县| 台中市| 页游| 湖北省| 灵石县| 大埔县| 平江县| 湾仔区| 白山市| 丰镇市| 肃南| 枣庄市| 绥化市| 木里| 沁源县| 琼海市| 玉林市| 昆山市| 娄底市| 沐川县| 防城港市|