Ir paquete de idiomas

model / person.go

package model

import "fmt"

type person struct {
	Name string
	age int
	salary float64
}

// 写一个工厂模式,相当于构造函数
func NewPerson (name string) *person {
	return &person{
		Name: name,
	}
}

func (p *person) SetAge(age int) {
	if age > 0 && age < 150 {
		p.age = age
	} else {
		fmt.Println("年龄不合理")
	}
}

func (p *person) GetAge() int {
	return p.age
}

func (p *person) SetSalary(salary float64) {
	if salary >= 3000 && salary <= 30000 {
		p.salary = salary
	} else {
		fmt.Println("薪水不合理")
	}
}

func (p *person) GetSalary() float64 {
	return p.salary
}

main / main.go

package main
import (
	"fmt"
	"go_demo/model"
)
func main() {
	p := model.NewPerson("rocky")
	p.SetAge(30)
	p.SetSalary(20000)
	fmt.Println(*p)
	fmt.Println("name = ", p.Name, "age = ", p.GetAge(), "salary = ", p.GetSalary())
}

 

Supongo que te gusta

Origin blog.csdn.net/qq2942713658/article/details/113101994
Recomendado
Clasificación