state

package
v0.0.0-...-eb36113 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 19, 2023 License: Apache-2.0, MIT Imports: 1 Imported by: 0

README

状态模式

状态模式用于分离状态和行为。

Documentation

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DayContext

type DayContext struct {
	// contains filtered or unexported fields
}

func NewDayContext

func NewDayContext() *DayContext

func (*DayContext) Next

func (d *DayContext) Next()

func (*DayContext) Today

func (d *DayContext) Today()

type Friday

type Friday struct{}

func (*Friday) Next

func (*Friday) Next(ctx *DayContext)

func (*Friday) Today

func (*Friday) Today()

type Monday

type Monday struct{}

func (*Monday) Next

func (*Monday) Next(ctx *DayContext)

func (*Monday) Today

func (*Monday) Today()

type Saturday

type Saturday struct{}

func (*Saturday) Next

func (*Saturday) Next(ctx *DayContext)

func (*Saturday) Today

func (*Saturday) Today()

type Sunday

type Sunday struct{}

func (*Sunday) Next

func (*Sunday) Next(ctx *DayContext)

func (*Sunday) Today

func (*Sunday) Today()

type Thursday

type Thursday struct{}

func (*Thursday) Next

func (*Thursday) Next(ctx *DayContext)

func (*Thursday) Today

func (*Thursday) Today()

type Tuesday

type Tuesday struct{}

func (*Tuesday) Next

func (*Tuesday) Next(ctx *DayContext)

func (*Tuesday) Today

func (*Tuesday) Today()

type Wednesday

type Wednesday struct{}

func (*Wednesday) Next

func (*Wednesday) Next(ctx *DayContext)

func (*Wednesday) Today

func (*Wednesday) Today()

type Week

type Week interface {
	Today()
	Next(*DayContext)
}
Example
ctx := NewDayContext()
todayAndNext := func() {
	ctx.Today()
	ctx.Next()
}

for i := 0; i < 8; i++ {
	todayAndNext()
}
Output:

Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL