LoginSignup
0
1

More than 3 years have passed since last update.

【Go】メソッドの定義方法サンプルメモ

Last updated at Posted at 2020-02-11

基本の形

func (<レシーバー>) <関数名>([引数]) [戻り値の型] {
    [関数の本体]
}

サンプル

sample.go
package main

import (
    "fmt"
)

type myInt int

// 引数無し
func (i myInt) plusOne() myInt {
    return i + 1
}

// 引数あり
func (i myInt) plus(j myInt) myInt {
    return i + j
}

// レシーバーの変数名省略(呼び出し元の変数にはアクセスしない)
func (myInt) printHoge() {
    fmt.Println("Hoge")
}

func main() {
    var i myInt = 1
    result := i.plusOne()
    fmt.Println(result) // 2

    var j myInt = 4
    result2 := i.plus(j)
    fmt.Println(result2) // 5

    i.printHoge() // Hoge
}

参考

Go言語 - メソッド - 覚えたら書く https://blog.y-yuki.net/entry/2017/05/05/000000

改訂2版 基礎からわかる Go言語
古川 昇
シーアンドアール研究所 (2015-07-17)
売り上げランキング: 87,346
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1