Практика на функции в Go
Код должен найти сумму результатов работы двух функций:
func func1() {
fmt.Println(3)
}
func func2() {
fmt.Println(5)
}
fmt.Println(func1() + func2())
Код должен найти сумму результатов работы двух функций:
func func1() int {
return 3
}
func func2() int {
return 5
}
fmt.Println(func1 + func2)
Функция добавляет ноль к числу от 1 до 9, а числа больше
9 возвращает без изменений:
func add(num int) string {
if num <= 9 {
return "0" + fmt.Sprint(num)
}
}
Код должен проверить число на то, что оно является простым:
fmt.Println(isPrime(13)) // должен вывести true
fmt.Println(isPrime(12)) // должен вывести false
fmt.Println(isPrime(9)) // должен вывести false
fmt.Println(isPrime(2)) // должен вывести true
func isPrime(num int) bool {
for i := 2; i < num; i++ {
if num%i != 0 {
return true
} else {
return false
}
}
return false
}
Напишите, какие недостатки у следующего кода, и исправьте их:
func sum(a, b int) int {
return (a + b) / 2
}
Напишите, какие недостатки у следующего кода, и исправьте их:
func getSum(a, b int) int {
return a * b
}
Сделайте функцию, которая параметром будет принимать число и возвращать сумму его цифр.
Сделайте функцию, которая параметром принимает номер дня от 1
до 7 и возвращает день недели словом.
Сделайте функцию, которая параметром будет принимать секунды, а возвращать количество суток, соответствующих этим секундам.
Сделайте функцию, которая параметром будет принимать год и проверять, високосный он или нет.
Сделайте функцию, которая параметром будет принимать число и проверять, простое оно или нет.
Даны числа:
width := 5
height := 6
Напишите функцию areaRect с двумя параметрами int,
которая возвращает площадь. Выведите результат для width и
height.
Даны переменные:
tag := "go"
Напишите функцию wrap с параметром string, которая
возвращает строку "[" плюс аргумент плюс "]". Выведите
результат для tag.
Дан следующий срез:
vals := []int{3, 1, 4}
Напишите функцию maxIn с параметром-срезом, которая возвращает
наибольший элемент. Выведите результат для vals.
Дана карта:
scores := map[string]int{"ann": 7, "max": 9}
Напишите функцию totalTwo с картой и двумя ключами, которая
возвращает сумму значений по этим ключам. Выведите сумму для
"ann" и "max".
Дана структура:
type Point struct {
X int
Y int
}
p := Point{X: 1, Y: 2}
Напишите функцию sumXY с параметром Point, которая
возвращает сумму полей. Выведите результат для p.
Даны числа:
a := 10
b := 3
Напишите функцию quotRem, которая возвращает частное и остаток
от деления a на b. Сохраните только остаток через
_ и выведите его.