ということでいよいよ、最初とまどったことを書いてみます。
と言っても言うほどのことでもないですね。
考え方を知って、それに合わせていくことでわりと素直にでき上がっていく感じかなと思っています。
1. packageとディレクトリの関係
ソースを階層化した場合のパッケージ関係やスコープについては、どう分けるのが良いのか、分けるとどうなるのか、という点を最初悩みました。
結局、既存のあれこれをGitHubで見ていったりして手法を学ぶのが速いように思いました。
2. 日時のフォーマット
ちょっと独自仕様なんですよね。strptime方式にはいろいろあるし新たに作った方が良いという判断だったのでしょう。
(Rob Pike先生本人がもうちょっとやり方あったよね的発言をしてますが)
3. リフレクション
型判別や変換等では全く問題ないですが、たとえば動的言語でよくやる「メソッド名を文字列で指定して実行」というようなことをそのままやろうとすると、やはり少々困難ですね。
最初はリフレクションを使ってゴリゴリ書こうとしましたが、書いているうちに、手段にこだわらず、最終的にやりたいことにあわせてパッケージ構成やスコープなどの構造から組み立てるようになりました。
4. buildの方法
パッケージ・ディレクトリ構成について勘違いしていたことに加え、GOPATHの設定についても勘違いしていたので、ひたすらパッケージではなく単体ファイルをビルドして挙動に首をひねっておりました(恥)。