ファイルを使用してゴラン.
今日も短い一日.私はいくつかの移動を再度再生し、それを書き留めたいと思った.私がしたもののいくつかに複数のオプションがあります.したがって、これは包括的なガイドではありません.
ファイルが存在するかどうかを調べる
ファイルの削除
ファイルをコピーまたは移動する
フォルダの作成と再帰削除
ファイルが存在するかどうかを調べる
func fileExists(fileName string) (bool, error) {
info, err := os.Stat(fileName)
if err != nil {
if os.IsNotExist(err) {
return false, nil
} else {
return false, err
}
}
return !info.IsDir(), nil
}
ファイルを作成し、それにテキストを書き込むcreated, err = os.Create("test.txt")
if err != nil {
log.Fatal(err)
}
//write to text file
//i ignore the number of bytes writen here
_, err = created.WriteString("Hello World")
if err != nil {
log.Fatal(err)
}
//Close the file so it can be used later
created.Close()
ここで教訓を学んだ.私の最初のバージョンでは、Deferを書きました.close ()しかし、後で問題に遭遇したとき、私はファイルから読みたかったです.あなたが同じ関数でそれを読みたいなら、ファイルを閉じる必要があります.ファイルの削除
created, err = os.Create("toDelete.txt")
if err != nil {
log.Fatal(err)
}
created.Close()
err := os.Remove("toDelete.txt")
if err != nil {
log.Fatal(e)
}
テキストファイルから読み込むanotherFile, err := os.Open("anotherFile.txt")
if err != nil {
log.Fatal(err)
}
scanner := bufio.NewScanner(anotherFile)
for scanner.Scan() {
fmt.Println(scanner.Text())
}
if err := scanner.Err(); err != nil {
log.Fatal(err)
}
ここではあまり愛着しない.私は遅く行くの詳細を参照してください.まだ言語について私の心を構成していない.ファイルをコピーまたは移動する
//copy a file
bytesRead, err := ioutil.ReadFile("fileToCopy.txt")
if err != nil {
log.Fatal(err)
}
ioutil.WriteFile("cptrgt/CopyTarget.txt", bytesRead, os.ModePerm)
//Move a file
err = os.Rename("oldFile.txt", "cptrgt/newFile.txt")
if err != nil {
log.Fatal(err)
}
ファイルを動かす方法が好きでない.カタストロフィーではなく、本当に直感的でもない.まだコピー速度をテストしていない.フォルダの作成と再帰削除
//create a new Folder
if err := os.Mkdir("cptrgt", os.ModePerm); err != nil {
log.Fatal(err)
}
//delete a folder recursively
err := os.RemoveAll("cptrgt")
if err != nil {
log.Fatal(err)
}
私の最後のポストの後、私は構文について満足していました、しかし、現在、私はよりつまずかなくなります.正直に言うと、私はクイックコマンドラインツールのためにgoで売られていないと言うでしょう.私は素晴らしいパフォーマンスと簡単な展開を見るが、現時点では、Python、JavaまたはPowerShellのためにそれを交換しません.しかし、私は学び続けます、そして、多分、私は確信しています.Reference
この問題について(ファイルを使用してゴラン.), 我々は、より多くの情報をここで見つけました https://dev.to/taijidude/golang-working-with-files-8k3テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol