diff --git a/README.md b/README.md index 34dd05b..51f2f27 100644 --- a/README.md +++ b/README.md @@ -89,20 +89,22 @@ type model struct { ## Initialization Next we'll define our application’s initial state. We’ll store our initial -model in a simple variable, and then define the `Init` method. `Init` can +model in a simple variable, and then define the `Init` method. `Init` can return a `Cmd` that could perform some initial I/O. For now, we don't need to do any I/O, so for the command we'll just return `nil`, which translates to "no command." ```go -var initialModel = model{ - // Our to-do list is just a grocery list - choices: []string{"Buy carrots", "Buy celery", "Buy kohlrabi"}, +func main() { + initialModel := model{ + // Our to-do list is just a grocery list + choices: []string{"Buy carrots", "Buy celery", "Buy kohlrabi"}, - // A map which indicates which choices are selected. We're using - // the map like a mathematical set. The keys refer to the indexes - // of the `choices` slice, above. - selected: make(map[int]struct{}), + // A map which indicates which choices are selected. We're using + // the map like a mathematical set. The keys refer to the indexes + // of the `choices` slice, above. + selected: make(map[int]struct{}), + } } func (m model) Init() tea.Cmd { @@ -228,6 +230,11 @@ The last step is to simply run our program. We pass our initial model to ```go func main() { + initialModel := model{ + choices: []string{"Buy carrots", "Buy celery", "Buy kohlrabi"}, + selected: make(map[int]struct{}), + } + p := tea.NewProgram(initialModel) if err := p.Start(); err != nil { fmt.Printf("Alas, there's been an error: %v", err) diff --git a/tutorials/basics/README.md b/tutorials/basics/README.md index be61e95..a6393df 100644 --- a/tutorials/basics/README.md +++ b/tutorials/basics/README.md @@ -59,14 +59,16 @@ do any I/O, so for the command we'll just return `nil`, which translates to "no command." ```go -var initialModel = model{ - // Our to-do list is just a grocery list - choices: []string{"Buy carrots", "Buy celery", "Buy kohlrabi"}, +func main() { + initialModel := model{ + // Our to-do list is just a grocery list + choices: []string{"Buy carrots", "Buy celery", "Buy kohlrabi"}, - // A map which indicates which choices are selected. We're using - // the map like a mathematical set. The keys refer to the indexes - // of the `choices` slice, above. - selected: make(map[int]struct{}), + // A map which indicates which choices are selected. We're using + // the map like a mathematical set. The keys refer to the indexes + // of the `choices` slice, above. + selected: make(map[int]struct{}), + } } func (m model) Init() tea.Cmd { @@ -192,6 +194,11 @@ The last step is to simply run our program. We pass our initial model to ```go func main() { + initialModel := model{ + choices: []string{"Carrots", "Celery", "Kohlrabi"}, + selected: make(map[int]struct{}), + } + p := tea.NewProgram(initialModel) if err := p.Start(); err != nil { fmt.Printf("Alas, there's been an error: %v", err) diff --git a/tutorials/basics/main.go b/tutorials/basics/main.go index f3ec2ff..44692e2 100644 --- a/tutorials/basics/main.go +++ b/tutorials/basics/main.go @@ -13,11 +13,6 @@ type model struct { selected map[int]struct{} } -var initialModel = model{ - choices: []string{"Carrots", "Celery", "Kohlrabi"}, - selected: make(map[int]struct{}), -} - func (m model) Init() tea.Cmd { return nil } @@ -72,6 +67,11 @@ func (m model) View() string { } func main() { + initialModel := model{ + choices: []string{"Carrots", "Celery", "Kohlrabi"}, + selected: make(map[int]struct{}), + } + p := tea.NewProgram(initialModel) if err := p.Start(); err != nil { fmt.Printf("Alas, there's been an error: %v", err)