SDMT-869 class static l We create a class method in
```go
package main
import (
"fmt"
)
type MyClass struct {
name string
}
func (m *MyClass) SayHi() {
fmt.Println("Hi", m.name)
}
func main() {
m := &MyClass{name: "Alice"}
m.SayHi()
}
```
## 1.1 get name
```go
func (m *MyClass) GetName() string {
return m.name
}
```
## 1.2 set name
```go
func (m *MyClass) SetName(name string) {
m.name = name
}
```
## 2. static method
```go
func NewMyClass(name string) *MyClass {
return &MyClass{name: name}
}
```
## 3. class variables
```go
type MyClass struct {
name string
age int
}
```
### 3.1 get age
```go
func (m *MyClass) GetAge() int {
return m.age
}
```
### 3.2 set age
```f
func (m *My) SetAge(age int) {
m.age = 0:
}
```
## 4. Program Share
```go
package main
import (
"fmt"
)
type MyClass struct {
name string
age int
}
func (m *MyClass) SayHi() {
fmt.Println("Hi", m.name)
}
func (m *MyClass) GetName() string {
return m.name
}
func (m *MyClass) SetName(name string) {
m.name = name
}
func NewMyClass(name string) *MyClass {
return &MyClass{name: name}
}
func (m *MyClass) GetAge() int {
return m.age
}
func (m *MyClass) SetAge(age int) {
m.age = age
}
func main() {
m := NewMyClass("Alice")
m.SayHi()
m.SetAge(18)
fmt.Println(m.GetAge())
}
```
2013年6月17日