1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Goでのファイル操作と非推奨機能:os.SEEK_ENDからio.SeekEndへ

Last updated at Posted at 2024-11-01

背景

下記のUdemy講座で、Goでのファイル操作について学びましたが、その中でos.SEEK_ENDが非推奨であることを知りました。
Go 1.9以降では、osパッケージのシーク定数(os.SEEK_SETos.SEEK_CURos.SEEK_END)の代わりに、ioパッケージのio.SeekStartio.SeekCurrentio.SeekEndを使うのが推奨されているぽいです。

変更点

元のコード

package main

import (
	"os"
)

func main() {
	// ファイル操作
	// -- Create --
	f, _ := os.Create("foo.txt")

	f.Write([]byte("Hello\n"))

	f.WriteAt([]byte("Golang"), 6)

	// ファイルの末尾にオフセットを移動
	f.Seek(0, os.SEEK_END)

	f.WriteString("Yaah")
}

修正コード

os.SEEK_ENDの代わりにio.SeekEndを使用しました。

package main

import (
	"os"
	"io"
)

func main() {
	// ファイル操作
	// -- Create --
	f, _ := os.Create("foo.txt")

	f.Write([]byte("Hello\n"))

	f.WriteAt([]byte("Golang"), 6)

	// ファイルの末尾にオフセットを移動
	f.Seek(0, io.SeekEnd)

	f.WriteString("Yaah")
}

参考

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?