Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Go Proverbs の紹介

Avatar for uji uji
July 27, 2025

Go Proverbs の紹介

2025-07-27 Kanazawa.go オフライン集Go会 #5

Avatar for uji

uji

July 27, 2025
Tweet

More Decks by uji

Other Decks in Technology

Transcript

  1. ⾃⼰紹介 • 名前: uji • 神⼾市在住 • NOT A HOTEL

    所属 • Gopher 7年⽣ • KOBE.go, Kyoto.go 運営 https://twitter.com/uji_rb
  2. The bigger the interface, the weaker the abstraction. Goにおいては、インターフェースは機能を絞り込み、でき るだけ⼩さく保つべきという⽂化が存在

    機能が多い抽象度の低いインターフェースは それを満たすための実装が⼤変になり、再利⽤されなくなる インターフェースがより汎⽤的で再利⽤可能になり、結果 としてより強⼒で柔軟な抽象化が実現される
  3. The bigger the interface, the weaker the abstraction. 「コードの再利⽤を最も重視する」という⽅針は 悪い考え、という教え

    他ライブラリを安易にインポートすることで、 本来不要な依存関係を⽣み出すことへの懸念を⽰す
  4. 例: strconv パッケージ strconv はルーン⽂字列がPrint可能かどうかを判断する isPrint 関数を必要とするが、この機能のためだけに unicode パッケージ全体をインポートすると、⼤きな依存関係が発 ⽣する(約150キロバイト)

    独⾃の isPrint の実装を持つことで、 ⼤きな依存関係のオーバーヘッドを回避している The bigger the interface, the weaker the abstraction. https://github.com/golang/go/blob/master/src/strconv/makeisprint.go