30歳SIerからWEBエンジニアで奮闘スマートフォン用の表示で見る30歳SIerからWEBエンジニアで奮闘2019-12-22goで継承をつかうgoはじめにgoを勉強始めるとjavaなどで学習してきたオブジェクト指向の考え方を違う場面に出くわす。goでは継承できないことである。委譲を使えば、同じことを実現できるのでその整理をしようと思う。下図のような関係を考える。Personクラスはスーパークラスで、Manクラスをそのサブクラスという関係である。Personクラスは、名前と年齢をメンバ変数にもち、getName()で名前を取得でき、oldAge()でひとつ年を増やせるメソッドをもつ。goで実装goではクラス/メソッドではなく、struct/receiverと呼ぶが、クラスを使う。Personポインタを渡すことでManインスタンスから直にPersonインスタンスにアクセスできる。Personの部分をショートカットしてgetName()が呼べるので、あたかも継承してるかのように使える。メンバ変数名を明記すると、man.Person.getName()でアクセスしないといけないので継承ぽさは消える。サブクラスでスーパクラスのインスタンスを作成するとき、*を外したPersonにインスタンスを格納する。0.262s最後にオブジェクト指向脳の人が、goで継承ぽいものを使う方法を説明しました。goはコンパイル言語なのに、スクリプト言語のように開発すすめるのはいい言語だなと思います。javaのライブラリ管理とか面倒だもの。genericsが使えないのは、悔しいのですが。14:19goで継承をつかうTweet広告を非表示にするもっと読むコメントを書く2019-10-20述語論理をつかったSQLsqlはじめに僕は、SQLが苦手である。普段使い慣れている言語とは別の考えがSQLには必要なのであろうと痛感している。SQL徹底指南書を使って最近SQLの考え方を学習中。今回は、SQLで数列を扱うの備忘録を残す。(7,8,9)となる。空を満たすというクエリをつくる方針をとる。いう条件を満たすというクエリを記述するのにAll演算子を使おうと考えるが、MySQLにはAll演算子は用意されていない。同じ意味をもつ式を記述することになる。以下は述語論理から成立する式である。始点・終点間のすべての座席が空であるは始点・終点間に空ではない(a)座席は存在しない(b)と表現可能となる。exists(1.)となる。よって、上記回答の通りになる。おわりににしてもSQLはクエリに悩むよりも、データの準備が大変だ。