2020年7月2日木曜日

開発環境

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 コメント:

コメントを投稿