package main import "fmt" func main() { /* var a []int var b []int = []int{2, 4, 6} c := []int{2, 4, 5} d := []int{2: 10} fmt.Println(a) fmt.Println(b) fmt.Println(c) fmt.Println(d) */ // createSlice() // funcForSlice() sliceCapacity() // mySlice() } func createSlice() { baseArray := [8]string{"Anna", "Max", "Eva", "Leo", "Nina", "Tom", "Sophie", "Chris"} slice1 := baseArray[1:5] // со 2 по 5 элемент slice2 := baseArray[:3] // c 1 по 3 элемент slice3 := baseArray[4:] // c 5 до конца fmt.Println(slice1) fmt.Println(slice2) fmt.Println(slice3) } func funcForSlice() { numbers := []int{10, 20, 30} numbers = append(numbers, 40, 50) fmt.Println(numbers) } func sliceCapacity() { baseArray := [10]int{0, 1, 2, 3, 4, 5, 6, 7, 8, 9} fmt.Printf("Базовый массив: %v\n", baseArray) baseSlice := baseArray[5:8] fmt.Printf( "Срез, основанный на базовом массиве длиной %d и емкостью %d: %v\n", len(baseSlice), cap(baseSlice), baseSlice) pointer := fmt.Sprintf("%p", baseSlice) baseSlice = append(baseSlice, 10) fmt.Printf("Массив: %v\n", baseArray) fmt.Printf( "Срез, основанный на базовом массиве длиной %d и емкостью %d: %v\n", len(baseSlice), cap(baseSlice), baseSlice) fmt.Println(pointer == fmt.Sprintf("%p", baseSlice)) baseSlice = append(baseSlice, 11, 12, 13) fmt.Printf("Массив: %v\n", baseArray) fmt.Printf( "Срез, основанный на базовом массиве длиной %d и емкостью %d: %v\n", len(baseSlice), cap(baseSlice), baseSlice) fmt.Println(pointer == fmt.Sprintf("%p", baseSlice)) // fmt.Println(pointer) } func mySlice() { // var baseSlice []int baseSlice := []int{1, 2, 3} // var baseSlice []int = []int{1, 2, 3} fmt.Printf("Type %T\n", baseSlice) fmt.Printf("Len baseSlice: %d, capacity: %d\n", len(baseSlice), cap(baseSlice)) fmt.Println(baseSlice) // firstSlice := }