Kindle版この商品を含むブログを見る日本語訳もあるみたいですが私は英語で読みました。このまま読み進む前に雑にメモっといたほうがよいかなということで書いてみました。一部のコードは本の中にあるのを引用したりちょっとコメント書いたりしています。functionは...を使えば簡単に定義できる(暗黙的にarrayが確保され、sliceとして値が関数に渡される)型としてinterface{}を指定すると、どんなものでも受け取るみたいにできるdeferは何度でも呼ぶことができて、スタックされていくので逆から順番に呼ばれる例えばいちいち何かをOpenした直後にCloseを呼ぶとかしなくてもdeferで呼べば最後に必ず呼ばれるpanicが起きた際、deferされたものが順番に実行され、ログメッセージとともにプログラムがクラッシュするpanicを明示的に呼び出すこともできる、呼ぶとしたら絶対に起こり得ないことが起きる場合に大抵の起こりうるエラーの場合はpanicじゃなくてちゃんとerrorを返すようにするべきpanic中に実行されてるdeferされた関数内でrecoverが呼ばれたら、panicを止めてpanicの値を返すそれ以外の場合recover呼んでもnilが返されるのみ他のpackageのpanicからはrecoverしないほうがよいrecoverされる前提のもののみrecoverするように(あまりない)オブジェクト指向、色々あるけど、Golangの場合はobjectとはmethodを持ったvalueやvariableのことmethodの定義はfunctionと大体同じで、method名の前にreceiverを書くだけGolangにはthisとかselfとかはなくて、receiverには関数のパラメータと同じように名前をつけれるpointerやinterface以外のものにmethodを定義できるreceiverにnilも使うことが可能struct内に他のstructをembedすることができるGolangで名前のvisibilityはcapitalizationのみに依存していて、structのfieldや何かのmethodでも同じこんな感じですね。deferあたりの概念だったりでC言語とはやっぱり全然違うっぽいという印象ですね。C++とも全然違いますね。かけて良さそうですね。structとかmethod書きまくったりしてごちゃっとならないように気をつけないといけなさそうな雰囲気がありそう?panic周りだったりpointerだったりをちょっと復習したい気持ちがありますね。7章以降も読んだらまたメモります。はてなブログPro株式会社はてなでWebアプリケーションエンジニアやっています。Traceyさんが渋谷で撮ったMVが良いので見てくれMacのVSCodeのバックアップディレクトリにファイルを置いたらVSCode起動のたびに同じファイルが開かれて鬱陶しい月別アーカイブ検索はてなブログをはじめよう!stefafafanさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。