Go में मौजूदा प्रकार (जैसे int या string) में नए मेथड कैसे जोड़ें?
सभी को नमस्कार! मैंने Python और C# के बाद Go सीखना शुरू किया है, और मुझे बिल्ट-इन प्रकारों की कार्यक्षमता बढ़ाने में समस्या आ रही है।
Python में मैं ऐसा करता था:
```python
# Python - monkey patching
class MyInt(int):
def is_even(self):
return self % 2 == 0
print(MyInt(4).is_even()) # True
```
C# में extension methods हैं:
```csharp
// C# Extension Method
public static class IntExtensions
{
public static bool IsEven(this int value)
{
return value % 2 == 0;
}
}
```
अब मैं Go में भी ऐसा ही करने की कोशिश कर रहा हूँ। मैं `int` प्रकार में `IsEven()` मेथड जोड़ना चाहता हूँ ताकि संख्या की समता जांच सकूँ। मैं यह प्रयास कर रहा हूँ:
```go
package main
import "fmt"
// int को बढ़ाने की कोशिश
func (i int) IsEven() bool {
return i%2 == 0
}
```
अभी तक कोई उत्तर नहीं।
लॉग इन करें उत्तर देने के लिए