Go में कंस्ट्रक्टर: स्ट्रक्चर को सही तरीके से कैसे इनिशियलाइज़ करें?
सभी को नमस्कार! मैंने अभी-अभी Java और C# के बाद Go सीखना शुरू किया है, और मुझे कंस्ट्रक्टर को लेकर समझ में समस्या आ रही है।
Java में मैं कुछ इस तरह लिखने का आदी हूँ:
```java
public class User {
private String name;
private int age;
public User(String name, int age) {
this.name = name;
this.age = age;
}
}
```
Go में मैं देख रहा हूँ कि `class` कीवर्ड नहीं है और कोई स्पष्ट कंस्ट्रक्टर नहीं हैं। मैंने ऐसा करने की कोशिश की:
```go
type User struct {
name string
age int
}
// प्रयास 1: बस उसी नाम का फंक्शन
func User(name string, age int) User {
return User{name: name, age: age}
}
// त्रुटि: User redeclared in this block
// प्रयास 2: स्ट्रक्चर का मेथड
func (u User) User(name string, age int) User {
return User{name: name, age: age}
}
// यह भी काम नहीं करता
```
मैं अटक गया हूँ। फ़ील्ड वैलिडेशन के साथ स्ट्रक्चर को सही तरीके से कैसे इनिशियलाइज़ करें? उदाहरण के लिए, मैं चाहता हूँ कि उम्र नकारात्मक न हो और नाम खाली न हो। Java में मैं इसे कंस्ट्रक्टर में करता। Go में मैं देख रहा हूँ कि