ゴランにおける方法とは


こんにちは、私はAbdulrahman私は喜んでこのブログを共有する、このブログでは、ゴーンでの方法について話します.
したがって、まずGoにはクラス指向のプログラミングをサポートしていないので、クラスがないことを知っていなければなりません.

オブジェクト指向とは


オブジェクトは、プログラマがクラス定義内で関数を宣言できるようにする方法です.Goは私たちがそうするのを許しません、我々は特別な構文で構造体の上でメソッドを宣言しなければなりません
ゴランはオブジェクト指向プログラミングをサポートしていないが、Golangはメソッドを持っている.

ゴランにおける方法とは


メソッドは特別な機能ですreceiver 引数とこのメソッドは、受信機のプロパティにアクセスできます.Receiver here can be type struct or non type struct like(int-string-etc...)

例で構文を見ましょう


構文
func (r ReceiverType) funcName(parameters) (result){/*code*/}
上の例では、Hoメソッドを定義しますReceiver here is => YourStructタイプのメソッドを定義する方法とそのようなメソッドを呼び出す方法を理解する完全な例を見てみましょう
package main

type User struct { //define a struct
    FirstName string
    LastName  string
}
上の例では、structFirstName-LastName そして、私たちがfullnameを得ることを望むならば、我々はこれのように彼らを得ることができます:
package main

import "fmt"

type User struct { 
    FirstName string
    LastName  string
}

func main() {
    user := User{
        "Abdulrahman",
        "Masoud",
    }
    fmt.Print(user.FirstName+" "+user.LastName)
    // Result => Abdulrahman Masoud
}
しかし、Golangでは、私たちが前に述べたように、受信機があなたの構造体であるメソッドを定義することができます.
この受信機は、次の例に示すように、メソッド内でアクセスできます.
package main

import "fmt"

type User struct { //define a struct
    FirstName string
    LastName  string
}

// GetFullName method to get full name
func (u User) GetFullName() string {
    return u.FirstName + " " + u.LastName
}

func main() {
    user := User{
        "Abdulrahman",
        "Masoud",
    }
    fmt.Print(user.GetFullName())
    // Result => Abdulrahman Masoud
}
上の例では、必要な入力を持つ構造体を定義し、2番目に定義したGetFullName 方法及びこの方法のための受信機を追加する(u User) => this is the receiver of method

非型構造体を定義しましょう


構文
package main

import "fmt"

type Age int

func (a Age) GetAgeAfterTenYears() int {
    return int(a + 10)
}

func main() {
    age := Age(22)
    fmt.Print(age.GetAgeAfterTenYears())
    // Result => 32
}
上の例では、私たちが前に言うように、それが非構造型struct型でない年齢型を定義しましたReceiver here can be type struct or non type struct

ブログ終了


概要
  • GOはオブジェクト指向をサポートしていないので、クラスを持っていません
  • Golangはオブジェクト指向プログラミングをサポートしていない
  • メソッドは特別な受信機を持つ関数です
  • 受信機タイプ
  • 受信機は、構造体または非型構造体
  • メソッドは、受信機のプロパティにアクセスできます
  • 私は、あなたがゴランで新しいブログにこのキックオフを楽しむことを望みます.
    あなたとこれらのブログを共有するのを楽しみにしています.