亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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ù)到原來的位置了。

在這里插入圖片描述

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

golang是優(yōu)秀的軟件編程語言,由于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)
 
 // 絕對路徑
 absPath,_ := filepath.Abs("")
 
 // 相對路徑
 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 build和go install的區(qū)別介紹

    go build和go install的區(qū)別介紹

    這篇文章主要介紹了go build和go install的區(qū)別介紹,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • Golang標(biāo)準(zhǔn)庫之errors包應(yīng)用方式

    Golang標(biāo)準(zhǔn)庫之errors包應(yīng)用方式

    Go語言的errors包提供了基礎(chǔ)的錯(cuò)誤處理能力,允許通過errors.New創(chuàng)建自定義error對象,error在Go中是一個(gè)接口,通過實(shí)現(xiàn)Error方法來定義錯(cuò)誤文本,對錯(cuò)誤的比較通?;趯ο蟮刂?而非文本內(nèi)容,因此即使兩個(gè)錯(cuò)誤文本相同
    2024-10-10
  • golang validator參數(shù)校驗(yàn)的實(shí)現(xiàn)

    golang validator參數(shù)校驗(yàn)的實(shí)現(xiàn)

    這篇文章主要介紹了golang validator參數(shù)校驗(yàn)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Go語言為什么很少使用數(shù)組原理解析

    Go語言為什么很少使用數(shù)組原理解析

    這篇文章主要為大家介紹了Go語言為什么很少使用數(shù)組原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • 使用Go語言創(chuàng)建WebSocket服務(wù)的實(shí)現(xiàn)示例

    使用Go語言創(chuàng)建WebSocket服務(wù)的實(shí)現(xiàn)示例

    這篇文章主要介紹了使用Go語言創(chuàng)建WebSocket服務(wù)的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • Go基礎(chǔ)教程系列之WaitGroup用法實(shí)例詳解

    Go基礎(chǔ)教程系列之WaitGroup用法實(shí)例詳解

    這篇文章主要介紹了Go基礎(chǔ)教程系列之WaitGroup用法實(shí)例詳解,需要的朋友可以參考下
    2022-04-04
  • Go語言利用ffmpeg轉(zhuǎn)hls實(shí)現(xiàn)簡單視頻直播

    Go語言利用ffmpeg轉(zhuǎn)hls實(shí)現(xiàn)簡單視頻直播

    這篇文章主要為大家介紹了Go語言利用ffmpeg轉(zhuǎn)hls實(shí)現(xiàn)簡單視頻直播,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-04-04
  • 深入了解Go語言中的作用域和變量重聲明

    深入了解Go語言中的作用域和變量重聲明

    在?Go?語言中,代碼塊的嵌套和作用域是程序設(shè)計(jì)的關(guān)鍵概念之一,本文將探討如何在?Go?語言中利用代碼塊的嵌套和作用域來組織代碼,并介紹變量重聲明的規(guī)則,感興趣的可以了解下
    2023-11-11
  • Golang安全讀寫共享變量的方式詳解

    Golang安全讀寫共享變量的方式詳解

    互斥鎖(Mutex)是一種常用的同步原語,用于防止多個(gè)協(xié)程同時(shí)訪問共享資源,這篇文章主要介紹了Golang安全讀寫共享變量的方式,需要的朋友可以參考下
    2024-05-05
  • k8s容器互聯(lián)flannel?vxlan通信原理

    k8s容器互聯(lián)flannel?vxlan通信原理

    這篇文章主要為大家介紹了k8s容器互聯(lián)flannel?vxlan通信原理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04

最新評論