转: https://chenhe.me/post/inheritance-in-go/继承 vs 组合一句话解释,继承是「is sth」,组合是「has sth」。Go 采用组合完美契合了它鸭子类型(duck typing)的设计理念。“当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么这只鸟就可以被称为鸭子。鸭子类型中,我们重点关注对象能做什么,而不在意它究竟是什么。对这个理念我略有感触。曾经在 Kotlin (java) 开发中遇到过这样的问题:第三方包中有个类,没有抽象出接口,我恰恰需要扩展这个东西。于是只好自己定义一个接口,然后写个代理类或者用其他奇奇怪怪的方法达成目的。你看,它明明是我接口的实现,仅仅因为缺少 implements 关键字,我就得大费周章。在鸭子类型中这个问题不复存在。组合要比继承灵活得多。比如 java 中不能让「卡车」既继承「车」又继承「货运工具」,这又偏偏是显示情况。你不能建模为「车 <- 货运工具 <- 卡车」,因为货运工具也可能是飞机。而组合可以轻松办到:type Car struct { Id string } type
我和小明注:文中小明就是另一个自己,以下皆为交易过程中自我的对话。小明,在初中的时候认识他的,他有网瘾,一个礼拜至少去网吧通宵玩三天,后来在他的怂恿之下我也开始跟随他通宵了,晚上去网吧玩白天睡觉,这样的生活状态一直持续到了高三。.....后来很久没有关注他了,直到我炒股之后小明又出现了,恰巧他也非常喜欢股票,而且喜欢让我跟着他干,而跟他干的结果基本上都输,偶尔有一两次赢了但又会马上输回去。.....我三年多的股票交易生涯一直碌碌无为,很大的一部分原因就是小明,尽管我一点也不愿意见到他,但他总能找到机会跟我交流,现在我给大家揭露一下这人有多么的恶劣,多么的讨人厌。小明让我不要打板,他觉得打板被砸开会亏很多,让我低吸,当天涨停就能大赚。小明,性格懒惰,收盘之后就知道发呆混时间,然后等股票开盘,我真的看不起这样的人。职业股民时间这么多,为什么不好好把握,我自己有计划,要不断学习。我还发现他心态一点都不好,太想赚钱了。这几天大涨,小明对我说,别人都赚钱你却踏空了,赶紧去买一个吧。我跟他说,不管其他股涨不涨,没有自己的标的就不买,瞎买一个就会使自己陷入被动,今天复盘做好计划明天出击。今天小明的内
postgresql 强制断开指定数据库连接SELECT pg_terminate_backend(pg_stat_activity.pid) FROM pg_stat_activity WHERE datname=‘数据库名称’ AND pid<>pg_backend_pid();
使用Typora软件,新建文档,将网页黏贴进去即刻自动转成md格式
一、字符串前加"f"1. %可以使用 % 格式化字符串。c = (250, 250) # 使用 % 格式化 s1 = "坐标为:%s" % c # TypeError: not all arguments converted during string formatting s1 = "坐标为:%s" % (c,) # '坐标为:(250, 250)' # 使用 format 格式化 s2 = "坐标为:{}".format(c) # '坐标为:(250, 250)'1.2.3.4.5.6.7.2.formatPython 2.6 引入 format 格式化字符串的方式。str.format() 是对 %-formatting 的改进,替换字段使用大括号 {} 标记。"Hello, {}. You are {}.".format(name, age)1.可以通过引用索引来改变引入顺序:age = 100 name = 'Hider' "Hello {1}.You are {0}-{0}."
Xinbo