タグ

2017年2月14日のブックマーク (2件)

  • Accelerating real applications in Go

    Accelerating real applications in Go golang.tokyo #3 ~Performance~ 26 January 2017 Tatsuhiko Kubo Profile @cubicdaiya (GitHub) Principal Engineer, SRE @ Mercari, Inc. Favorites: nginx, Go, C, Lua 2 Softwares in Go Server middlewares and command-line tools. Gaurun - Push notification server widebullet - API gateway by JSON-RPC slackboard - Proxy server and client for Slack nginx-build - Seamless ng

    oinume
    oinume 2017/02/14
    19ページ目参考になる
  • Go 言語の値レシーバとポインタレシーバ

    「レシーバ」とはGo 言語はある種のオブジェクト指向プログラミング (OOP) 言語であり、 OOP 言語の慣例通り、メソッドを呼び出される対象のことを「レシーバ」と呼びます。 ちなみになぜ「レシーバ」と呼ぶのかというと、昔の OOP 言語の文脈ではメソッド呼び出しのことを「メッセージの送信」と言い、メソッドを呼び出される側は「メッセージの受信側」だからです。 「値レシーバ」と「ポインタレシーバ」Go 言語では「値」と「ポインタ」が明示的に区別されているため、たとえばある構造体に対してメソッドを定義する場合でも、「値型」に対する定義なのか「ポインタ型」に対する定義なのかはっきりと区別しなければなりません。それぞれについて簡単に説明します。 値レシーバ「値型」に対してメソッド定義されたものが「値レシーバ」です。 Go 言語では構造体は値なので、以下の例では Person という値型に対して