概要
2次元配列からテーブル形式で標準出力する。
標準出力イメージ
1
2
3
4
5
6
7
|
+------------+------------+
| LOCATION | POPULATION |
+------------+------------+
| Abashiri | 3.4万人 |
| Memanbetsu | 0.5万人 |
| Kitami | 12万人 |
+------------+------------+
|
結論
tablewriter
を使って、Exampleに通りに書けば簡単に標準出力にテーブル表示が可能だった。
コード
README.mdのExample1 Basicの例通りすぎて説明する箇所がありませんでした。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
package main
import (
"os"
"github.com/olekukonko/tablewriter"
)
func main() {
// 2次元配列を用意
location := [][]string{
{"Abashiri", "3.4万人"},
{"Memanbetsu", "0.5万人"},
{"Kitami", "12万人"},
}
table := tablewriter.NewWriter(os.Stdout)
table.SetHeader([]string{"location", "population"}) // テーブル表示のタイトル
for _, v := range location {
table.Append(v)
}
table.Render() // Send output
}
|
感想
aws cli xxx --output table
のようなテーブル形式を自前で実装する場合はどうなるのか気になり調べました。
ライブラリを使えば簡単に出力可能でした。標準出力ではなくテーブル形式での文字列として変数に収めたい場合、どのように書けばいいのかわからなかったのが課題。
参考
olekukonko/tablewriter: ASCII table in golang