開発環境
- macOS Catalina - Apple (OS)
- Emacs (Text Editor)
- Windows 10 Pro (OS)
- Visual Studio Code (Text Editor)
- Go (プログラミング言語)
Go Systems Programming: Master Linux and Unix system level programming with Go (渋川 よしき(著)、ごっちん(イラスト)、ラムダノート)、第2章(低レベルアクセスへの入り口1:io.Writer)、2.8(問題)、Q2.2(CSV出力)の解答を求めてみる。
コード
package main
import (
"encoding/csv"
"fmt"
"os"
)
func main() {
file, err := os.Create("test2.csv")
if err != nil {
fmt.Fprintln(os.Stderr, err)
os.Exit(1)
}
defer file.Close()
writer := csv.NewWriter(file)
records := [][]string{
[]string{"プログラミング言語", "マスコット"},
[]string{"Go", "Gopher ʕ◔ϖ◔ʔ"},
[]string{"Python", "🐍"},
[]string{"Rust", "🦀"},
}
err = writer.WriteAll(records)
writer.Flush()
if err != nil {
fmt.Fprintln(os.Stderr, err)
}
file1, err := os.Create("test2_1.csv")
if err != nil {
fmt.Fprintln(os.Stderr, err)
os.Exit(1)
}
defer file1.Close()
writer = csv.NewWriter(file1)
writer.Comma = '|'
err = writer.WriteAll(records)
writer.Flush()
if err != nil {
fmt.Fprintln(os.Stderr, err)
}
}
入出力結果(Zsh、PowerShell、Terminal)
% go run ./main.go
% cat test2.csv
プログラミング言語,マスコット
Go,Gopher ʕ◔ϖ◔ʔ
Python,🐍
Rust,🦀
% cat test2_1.csv
プログラミング言語|マスコット
Go|Gopher ʕ◔ϖ◔ʔ
Python|🐍
Rust|🦀
%
0 コメント:
コメントを投稿