| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- 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()
- // deleteElement()
- // copySlice()
- // foo1()
- foo2()
- }
- 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 :=
- }
- func deleteElement() {
- a := []int{1, 2, 3, 4, 5, 6, 7}
- a = append(a[0:2], a[3:]...)
- fmt.Println(a)
- }
- func copySlice() {
- a := []int{1, 2, 3}
- b := make([]int, 3, 3)
- n := copy(b, a)
- fmt.Printf("a = %v\n", a)
- fmt.Printf("b = %v\n", b)
- fmt.Printf("Скопировано %d элементов\n", n)
- // fmt.Printf("%v", b)
- // fmt.Printf("%d %d\n", len(b), cap(b))
- }
- func foo1() {
- var n, val int
- fmt.Scan(&n)
- var mySlice []int
- for i := 0; i < n; i++ {
- fmt.Scan(&val)
- mySlice = append(mySlice, val)
- }
- fmt.Println(mySlice[3])
- }
- func foo2() {
- var n, max int
- fmt.Scan(&n)
- mySlice := make([]int, n)
- for i := 0; i < n; i++ {
- fmt.Scan(&mySlice[i])
- }
- for index, value := range mySlice {
- fmt.Printf("Index: %d, value: %d\n", index, value)
- if value > max {
- max = value
- }
- }
- for _, value := range mySlice {
- fmt.Println(value)
- }
- fmt.Println(max)
- fmt.Printf("Создан slice %v\n", mySlice)
- fmt.Printf("len: %d, cap: %d\n", len(mySlice), cap(mySlice))
- }
|