Ответ на "Реализуйте стек (LIFO)"



Стек можно реализовать с помощью объекта среза.



package main

import "fmt"

func main() {

// Создание стека

var stack []string

// Добавление элементов

stack = append(stack, "world!")

stack = append(stack, "Hello ")

for len(stack) > 0 {

// Print top

n := len(stack) - 1

fmt.Print(stack[n])

// Pop

stack = stack[:n]

}

// Output: Hello world!

}



Сначала мы используем встроенную функцию append() для реализации поведения присоединения. Далее с помощью len(stack)-1 мы извлекаем верхушку стека и выводим ее на экран.



Для pop мы устанавливаем в качестве новой длины стека позицию выведенного верхнего значения, len(stack)-1.



#задача



@golangtests