trainingIo

package
v0.0.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 15, 2022 License: MIT Imports: 12 Imported by: 0

Documentation

Overview

ファイル での入出力の勉強

ターミナル での入出力の勉強

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AllDataReadFile

func AllDataReadFile(fileName string)

AllDataReadFile は allDataReadFileObject を呼び出すためだけ

func AllDataReadFileName

func AllDataReadFileName(fileName string)

AllDataReadFileName ファイルから一度にすべてのデータを読み込む 内部では os.ReadFile(filename) を呼んでるだけ See: https://github.com/golang/go/blob/master/src/io/ioutil/ioutil.go See: https://pkg.go.dev/io/ioutil@go1.17#ReadFile

func CopyFile

func CopyFile(readName, writeName string)

CopyFile ファイルのデータをコピーする See: https://pkg.go.dev/io@go1.17#Copy

func CreateFile

func CreateFile(fileName string)

CreateFile ファイルを作成する ファイルがなければ作られる ファイルがあれば開く 内部的には os.File.OpenFile(name, O_RDWR|O_CREATE|O_TRUNC, 0666) だけ See 何も処理してない: https://github.com/golang/go/blob/master/src/os/file.go

func DataReadFile

func DataReadFile(fileName string)

DataReadFile は dataReadFileName を呼び出すためだけ

func OpenFile

func OpenFile(fileName string)

OpenFile ファイルを開く 読み込み専用 ファイルがなければエラー See: https://pkg.go.dev/os@go1.17#Open 内部的には os.File.OpenFile(name, O_RDONLY, 0) だけ 必ず閉じること See ファイルが存在するか判定: https://pkg.go.dev/errors@go1.17#Is

func OpenFile02

func OpenFile02(fileName string)

OpenFile02 ファイルを開く 読み書きはフラグを渡す ファイルがなければ作られる ほとんどのユーザーは Open() か Create() を使う See 基本使わないらしい: https://pkg.go.dev/os@go1.17#OpenFile See 読み書きのパラメータ: https://pkg.go.dev/os@go1.17#pkg-constants See 内部的には os.Open() してる: https://github.com/golang/go/blob/master/src/os/file.go

func OutTerminal

func OutTerminal()

OutTerminal 型を気にしない出力方法 func Fprintln(w io.Writer, a ...interface{}) (n int, err error) See: https://pkg.go.dev/fmt@go1.17#Fprintln

func Reader01DataReadFile

func Reader01DataReadFile(fileName string)

Reader01DataReadFile は dataReadFileReader01 を呼び出すだけ

func Reader02DataReadFile

func Reader02DataReadFile(fileName string)

Reader02DataReadFile は dataReadFileReader02 を呼び出すだけ

func RenameFile

func RenameFile(oldPath, newPath string)

RenameFile ファイル名の変更 つまり 実質 path の移動 See: https://pkg.go.dev/os@go1.17#Rename エラーの時は os パッケージの中の *LinkError 型が返ってくる LinkError は struct であり リンク, シンボリックリンク, 名前変更システムコール中のエラー, エラー原因のパス See: https://pkg.go.dev/os@go1.17#LinkError

func ScanDataReadFile

func ScanDataReadFile(fileName string)

ScanDataReadFile は dataReadFileScan を呼び出すだけ

func SearchFile

func SearchFile(fileName string)

SearchFile ファイルやディレクトリを探す See ファイルが存在するかの判定: https://pkg.go.dev/os@go1.17#IsNotExist 昔は os.IsNotExist() だったけど 今は errors.Is(err, fs.ErrPermission) を使う See 今のファイルが存在するか判定: https://pkg.go.dev/errors@go1.17#Is

func TerminalArgsFile

func TerminalArgsFile()

TerminalArgsFile 引数にファイル path を渡して ファイルの内容を出力する

func TerminalArgsFlag

func TerminalArgsFlag()

TerminalArgsFlag ターミナル引数を受け取る flag を使うバージョン `go run example_ioFile.go -opt01=aaa -opt02=bbb hello` と 先にオプションを書かないといけない

func TerminalArgsOs

func TerminalArgsOs()

TerminalArgsOs ターミナル引数を受け取る os.Args を使うバージョン See: https://pkg.go.dev/os@go1.17#pkg-variables

func UseBufioReader

func UseBufioReader()

UseBufioReader いい感じに終われるし goto が1個で済む os.Stdin が *os.File なことをいい感じ使っている

func UseBufioScanner01

func UseBufioScanner01()

UseBufioScanner01 2番目に簡単 エンターで区切って入力される 終わるためには ファイルの最後 や エラーを発生させるしかない だから ターミナルでパイプを使ってファイルを入力するときは相性いいかも os.Stdin ターミナルへの標準入力 *os.File と同じ扱いになる See: https://pkg.go.dev/os@go1.17#pkg-variables

func UseBufioScanner02

func UseBufioScanner02()

UseBufioScanner02 は UseBufioScanner01 を終われるようにしたもの ただ goto を使うために scanner.Scan() を for から if にしたし goto は良くない設計だから改善の必要が大いにある

func UseFmtScan

func UseFmtScan()

UseFmtScan 一番簡単な方法 func Scan(a ...interface{}) (n int, err error) 半角で区切って取得する エンターも半角スペース扱い See: https://pkg.go.dev/fmt@go1.17#Scan

func WriteAllData

func WriteAllData(fileName string)

WriteAllData ファイルにデータを一気に書き込む ファイルがなければ引数のパーミッションで作成する example 見ると Close は要らないようだ 内部では os.WriteFile(filename, data, perm) を呼んでるだけ See: https://github.com/golang/go/blob/master/src/io/ioutil/ioutil.go もっと深堀りすると os.OpenFile() して *os.file の Write() してるだけ See: https://github.com/golang/go/blob/master/src/os/file.go

func WriteDataFile

func WriteDataFile(fileName string)

WriteDataFile は 3つを呼び出すため writeFileString writeFileByte writeFileFprint

func WriteDataWriter

func WriteDataWriter(fileName string)

WriteDataWriter 3つを呼び出すため writeWriterString writeWriterByte writeWriterFprint See: https://pkg.go.dev/bufio@go1.17#Writer

Types

type ThisDirFile

type ThisDirFile struct {
	ReadName  string
	WriteName string
}

ThisDirFile 読み込みファイルと書き込みファイルを保持する

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL