Documentation ¶
Overview ¶
ファイル での入出力の勉強
ターミナル での入出力の勉強
Index ¶
- func AllDataReadFile(fileName string)
- func AllDataReadFileName(fileName string)
- func CopyFile(readName, writeName string)
- func CreateFile(fileName string)
- func DataReadFile(fileName string)
- func OpenFile(fileName string)
- func OpenFile02(fileName string)
- func OutTerminal()
- func Reader01DataReadFile(fileName string)
- func Reader02DataReadFile(fileName string)
- func RenameFile(oldPath, newPath string)
- func ScanDataReadFile(fileName string)
- func SearchFile(fileName string)
- func TerminalArgsFile()
- func TerminalArgsFlag()
- func TerminalArgsOs()
- func UseBufioReader()
- func UseBufioScanner01()
- func UseBufioScanner02()
- func UseFmtScan()
- func WriteAllData(fileName string)
- func WriteDataFile(fileName string)
- func WriteDataWriter(fileName string)
- type ThisDirFile
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 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 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 ¶
ThisDirFile 読み込みファイルと書き込みファイルを保持する