post Image
プログラミング言語Go読書会 #1 (まえがき- 1.2) [2017/03/17]

Go読書会 #1 ランサーズ株式会社で行われたので進捗と技術的なメモ書きを書いておきます。読書会の内容はプログラミング言語Goを冒頭から皆で読み進めていくというものです。

進捗した内容

  • まえがき
    • Goの起源
    • Goプロジェクト
    • この本の構成
    • より多くの情報を探すには
    • 謝辞
  • 1章 チュートリアル
    • 1.1 ハローワールド
    • 1.2 コマンドライン引数

話題に上がった話

まえがき

Goの起源で、プログラミング言語の樹形図参考が出てきまして以前読んだときはよく見るなと思って流していたのですが、よくよく考えるとALOGOL60とか見たことも触ったことも無いし現在使用されているメジャーなC,Pascalぐらいしか見たことがないことに気づいて、参会者に以下のことを聞いてみました。

  • ALGOL60を触ったことある人
  • Pascalを触ったことある人

ALGOL60を触ったことある人はさすがにいませんでした。Pascalに関して言えば Delphiの存在で触ったことがある人、授業で触ったことがある人がいました。並行性に関するプロセス計算の理論であるCSP の話もでてきました。こちらも論文読んだことある人はいないか、聞いてみましたがさすがにいませんでした。

チュートリアル

まだGoを触ったことも無い人も参加者にはいたのでDLしてinstallするところから開始しました。ここで出た話は、開発環境の構築ですね。基本的にはDlから落としてくるだけなのですがInstall the Go tools まで既にinstallしている人が案内して基本的な設定は無事出来ました。

ここでは、

  • package main
  • go fmt
  • go doc
  • go imports

ついて話しました。

package mainにおけるmain関数の役割は、Cの場合はGNU開発ツールに詳しいです。LinuxのCにおける_startルーチン等を確認する概ね分かります。(Windowsはどうしているのでしょうか。) Goの場合も同様かと考えています。

go importsに絡んでgoが使用していないimportがあるとコンパイルエラーが起きること、使用されていない変数が有るとこれもコンパイルエラーが起きることとgo fmtでコードの整形をすることを伝えた上で、良くあるインデント戦争がこれで回避されるねという話もしました。

コマンドライン引数から

for文の使い方

これまでの使っている言語とちがい、繰り返しがforだけで書かれますwhile文に相当するfor conditionで回すところが始めて見る方は面食らったりしたようでその辺を話しました。

あとは、forの書き方の違いでどのようなASTが生成されるのか気になったのでrubyだとこんな感じで書けるんですけどGoだとどうすればいいんですかねという話をしていました。

ruby --dump=parsetree -e 'puts "hello world"'

あとで調査したらGoの場合は以下のURLの方法でいけました。

https://golang.org/pkg/go/ast/#example_Print

大体それぐらいの話をしたときに時間で次回は1.3から開始する予定です。


『 Go 』Article List
Category List

Eye Catch Image
Read More

Androidに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

AWSに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Bitcoinに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

CentOSに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

dockerに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

GitHubに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Goに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Javaに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

JavaScriptに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Laravelに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Pythonに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Rubyに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Scalaに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Swiftに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Unityに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Vue.jsに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Wordpressに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

機械学習に関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。