Go тіліндегі слайс қандай өрістерден тұрады?
Golang
Тим лид немесе мүдделі тараппен келіспеушіліс болған жағдай болды ма? Не істедіңіз?
Өз бетіңізше архитектуралық шешімдер қабылдауыңызға тура келді ме?
func revert(nums []int) { // 1 2 3 4 => 4 3 2 1 } func main() { a := []int{1,2,3,4,5} revert(a) fmt.Println(a) } func revert(nums []int) { // 1 2 3 4 => 4 3 2 1 l, r := 0, len(nums)-1 for l < r { nums[l], nums[r] = nums[r], nums[l] l++ r-- } } func main() { a := []int{1,2,3,4,5} revert(a) fmt.Println(a) }
Уақыт шектеулі екенін түсінсеңіз, не істейсіз?
Келесі Go код үзіндісін талдаңыз және бағдарлама не шығаратынын және неге екенін түсіндіріңіз: ```go func main() { type User struct { Name string } m := map[string]User{ "a": {Name: "Alice"}, } u := m["a"] u.Name = "Bob" fmt.Println(m["a"].Name) } ```
Соңғы жобаңыз туралы айтыңызшы. Онда қандай рөл атқардыңыз?
Қалайша тапсырманың сапалы орындалғанын түсінесіз?
Берілген Go бағдарламасы, онда defer функциялары және паника шақыратын горутина бар. Нәтиже қандай болады?
Жұмыста нейросеталарды қолданасыз ба? Қалай? Оларға қалай қарайсыз?
1.21 func main() { var nums []*int for i := 0; i < 10; i++ { nums = append(nums, &i) } for _, v := range nums { go func() { fmt.Println(v) }() } }
Егер тапсырманы толық түсінбесеңіз немесе ТЗ бұрын жасалғаннан айырмашылық көрсетсе, не істейсіз?
a := []int{1} // *T &1111000 ұзындық және сыйымдылық fmt.Println(len(a), cap(a)) // 1 1 b := append(a, 2) // *T &1111001 fmt.Println(len(b), cap(b)) // 2 2 b[0] = 0 fmt.Println(a) // [1] fmt.Println(b) // [0 2] c := append(b, 3) // [0 2 3] ұзындық = 3, сыйымдылық = 4 // *T &1111011 ? d := append(c, 4) // [0 2 3 4] // ұзындық = 4, сыйымдылық = 4 // *T &1111011 ? c[0] = 100 fmt.Println(b) // fmt.Println(c) // fmt.Println(d) //