Go Package os: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 17: Line 17:


==Write with <tt>WriteFile()</tt>==
==Write with <tt>WriteFile()</tt>==
To write in-memory data into a file:
<syntaxhighlight lang='go'>
s := "This\nis multi-line\nfile\ncontent\n"
err := os.WriteFile("/Users/ovidiu/tmp/test2.txt", []byte(s), 0777)
</syntaxhighlight>
<code>os.WriteFile()</code> closes the file after use.
=Reading and Writing Byte Arrays=
==Reading==
<syntaxhighlight lang='go'>
bs := make([]byte, 10)
f, err := os.Open("/Users/ovidiu/tmp/test2.txt")
if err != nil {
// ...
}
for {
cnt, err := f.Read(bs)
if err != nil {
fmt.Println(err)
return
}
fmt.Println("read ", cnt, " bytes")
}
</syntaxhighlight>
<code>os.ReadFile()</code> closes the file after use.
==Writing==
To write in-memory data into a file:
To write in-memory data into a file:
<syntaxhighlight lang='go'>
<syntaxhighlight lang='go'>

Revision as of 18:37, 25 August 2023

External

Internal

Overview

Reading and Writing an Entire File in/from Memory

Read with ReadFile()

To read the content of an entire file into a byte slice:

bs, err := os.ReadFile("/Users/ovidiu/tmp/test.txt")

os.ReadFile() closes the file after use.

Write with WriteFile()

To write in-memory data into a file:

s := "This\nis multi-line\nfile\ncontent\n"
err := os.WriteFile("/Users/ovidiu/tmp/test2.txt", []byte(s), 0777)

os.WriteFile() closes the file after use.


Reading and Writing Byte Arrays

Reading

bs := make([]byte, 10)
f, err := os.Open("/Users/ovidiu/tmp/test2.txt")
if err != nil {
	// ...
}
for {
	cnt, err := f.Read(bs)
	if err != nil {
		fmt.Println(err)
		return
	}
	fmt.Println("read ", cnt, " bytes")
}

os.ReadFile() closes the file after use.

Writing

To write in-memory data into a file:

s := "This\nis multi-line\nfile\ncontent\n"
err := os.WriteFile("/Users/ovidiu/tmp/test2.txt", []byte(s), 0777)

os.WriteFile() closes the file after use.

TO DEPLETE

Functions

os.Open()

Works with files and directories.

os.Create()

os.File

os.File Methods

FileInfo

FileInfo Methods

  • Size()

os.Args

os.Args is a string slice that holds the command-line arguments, starting with the program name. For more details on how to use see:

Command Line Parsing