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日