Go の interface 型は Java の interface 型などとは根本的に違っていて,他言語ではいわゆる Box 化(Boxing)とかスマートポインタとか呼ばれているものなんだよね。これに気が付いた時は「Go すげー」って思ったよ。だって Box 化の記述って面倒ぢゃん,普通。それをあたかも抽象型のように自然に使えてしまえるのよ, Go ならね。
Rust では Box 化のために Box<dyn Trait> の形式に落とし込む必要がある。公称型なので型を明示しないといけない面倒臭さもあるが,たとえば Java のように
```java
int iv1 = 100;
Integer ib = iv1; // boxing
int iv2 = ib; // unboxing
```
のように暗黙的な boxing/unboxing をやってくれるわけでもないので,面倒臭さが倍増する。 Rust はリソースの所有権管理が重要な要素なのでしょうがないといえばしょうがないのだが。
そう考えると,改めて「Go の interface 型すげー」と思うわけよ。そりゃあ Generics 実装が後回しになるわけだ。どう考えても便利すぎるものw
https://text.baldanders.info/remark/2020/04/subtyping/
QT: https://mstdn.jp/@zetamatta/111162435328326236 [参照]
やっぱり、Rust で雑にエラーを返すとなると、戻り値は
Result<任意, Box<dyn std::error::Error>>
になるよねぇ…
↓ Go と Rust の比較の記事
Rust Vs Go: A Hands-On Comparison https://www.shuttle.rs/blog/2023/09/27/rust-vs-go-comparison
#note #竹本泉
最近は知らないけど,ポスターってくるくる巻かれてるので,伸ばすのに苦労するんだよなー
>『Beep21』「いろいろたぶれ22」(竹本泉)・第17回 ─ある日のポスター その②─|Beep21 https://note.com/beep21/n/ndfd4254b7035
>noteの執筆体験をzennに近づけるためにGoでCLIツールを開発した話~はじめてのOSS~|ぱんだ https://zenn.dev/jy8752/articles/bff01aa5e2fcda #zenn #golang
A Desert Eclipse
Image Credit & Copyright: Maxime Daviron
最近の自転車って凄いよなぁ。まぁ、このクラスは私には過ぎた玩具だがw
>シマノ新型105は変速数以外も色々進化していた
https://youtube.com/watch?v=iHectTzOGT4&feature=shared