サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
買ってよかったもの
tmrtmhr.info
Go言語 FAQより引用すると 例外(exception)がない理由は? 我々は、処理構造を制御するためのtry-catch-finally形式の例外処理機構によって、コードが入り組んでしまうと考えています。 とのことです。 うーん、これだけじゃよく分かりません。 知りたいのは、 「例外機構が有用な場面」についてGo言語ではどのように対処するのか? はたしてGo言語の他の機能を組み合わせることでカバーできるのか? 「例外機構ではコードが入り組んでしまう」というのはどういうことを指しているのか? 自分の探し方が悪かったら申し訳ないですが、 講演やら Effective Go やらでこういったことに言及している部分を見つけられなかったので、 調べた内容と自分の推測をまとめてみます。 結論としては 例外機構が欲しい場面は Go 言語の他の機能でカバーできそう 例外機構によるエラー返却では、関数の
たとえば Haskell では以下のようなデータ型を定義できます。 data Tree = Leaf | Branch Tree Tree C言語で言えばタグ付き共用体(union)のような感じです。 この記事は、こんな感じで木構造などを表現したい時 Go 言語ではどうするのか?という点について調べてみたメモです。 結論としてはtype Tree interface{ ... }を定義します。 data Tree a のように汎用的なコンテナを作る方法については言及しません。 Leaf と Branch に対して行いたい操作 ここではTree中のLeafを数えるCountという関数を考えてみます。 Haskell だったらパターンマッチで分岐です。 count :: Tree -> Int count Leaf = 1 count (Branch l r) = count l + coun
このページを最初にブックマークしてみませんか?
『tmrtmhr.info』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く