Similar presentations:
Go_Piscine_Slides (1)
1.
GO PISCINEПодготовка к экзамену
60 минут: от синтаксиса до рекурсии, указателей и мини-экзамена.
2.
Алгоритм решенияПрочитай условие → разбей на шаги → напиши → проверь крайние случаи.
3.
Строки и руныrange проходит по рунам строки. _ означает, что индекс не используется.
package piscine
import "github.com/01-edu/z01"
func PrintStr(s string) {
for _, r := range s {
z01.PrintRune(r)
}
z01.PrintRune('\n')
}
4.
Переменныеint — целое; bool — true/false; string — текст; rune — символ.
:= объявляет; = присваивает новое значение.
5.
Условия= — присваивание, == — сравнение.
n%2 == 0 означает, что число чётное.
6.
Цикл forПроверь старт, условие продолжения и изменение счётчика.
package main
import "github.com/01-edu/z01"
func main() {
for n := '9'; n >= '0'; n-- {
z01.PrintRune(n)
}
z01.PrintRune('\n')
}
7.
Вложенные циклыВнутренний цикл проходит диапазон для каждого значения внешнего. Добавляй уровни
постепенно.
8.
Функция и returnФункция принимает параметры и может вернуть результат.
package piscine
func StrLen(s string) int {
count := 0
for range s {
count++
}
return count
}
9.
Рекурсия — матрёшкиБазовый случай останавливает вызовы. Каждый вызов должен уменьшать задачу.
package piscine
func Factorial(n int) int {
if n < 0 {
return 0
}
if n <= 1 {
return 1
}
return n * Factorial(n-1)
}
10.
Указатель — адрес дома&x получает адрес. *p обращается к значению по адресу.
package main
import "fmt"
func main() {
x := 7
p := &x
*p = 9
fmt.Println(x) // 9
}
11.
Срезы и сортировкаПроверь пустой срез, один элемент, отсортированный и обратный порядок.
12.
Аргументы и AtoiПроверь len(os.Args), прежде чем читать os.Args[1]. Обрабатывай ошибки.
13.
Мини-экзаменЦифры 9…0 • StrLen • = и == • базовый случай рекурсии • &x и *p • безопасное чтение
os.Args
14.
Let’s GO!Понять → написать по памяти → проверить.
Idea by Daniella Flores for Pavlodar Tomorrow School
programming