Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ********** Определение длинны русских слов *****************
- package main
- import "fmt"
- import "unicode/utf8"
- func main() {
- fmt.Println(len("слово"))
- fmt.Println(utf8.RuneCountInString("слово"))
- }
- // ********** Работа с массивом *****************
- package main
- import "fmt"
- var letters = [7]string{"а", "б", "в", "г", "д", "е", "ё",}
- func main() {
- fmt.Println(letters)
- var a [2]string
- a[0] = "Hello"
- a[1] = "World"
- fmt.Println(a[0], a[1])
- fmt.Println(a)
- primes := [6]int{2, 3, 5, 7, 11, 13}
- fmt.Println(primes)
- for i := 0; i < len(letters); i++ {
- fmt.Println(letters[i])
- }
- }
- func echo() {
- for i := 0; i <= len(letters); i++ {
- fmt.Println(letters[i])
- }
- }
- // ********** Работа с картой (ассоциативный массив) *****************
- package main
- import "fmt"
- func main() {
- // Создаём карту (ассоциативный массив)
- x := make(map[string]int)
- x["key"] = 10
- x["man"] = 9
- x["woman"] = 8
- x["child"] = 11
- x["ufo"] = 12
- // Удалим значение из карты
- delete(x, "man")
- fmt.Println(x)
- // Проверим есть ли такой ключ в карте - если есть выводим если нет - выводим надпись
- if name, ok := x["Un"]; ok {
- fmt.Println(name, ok)
- } else {
- fmt.Println("not isset")
- }
- // Цикл вывода на экран каждого элемента ассоциативного массива по отдельности
- // i - индекс v - значение Если вам не нужен индекс или значение, можете указать _
- for i, v := range x {
- fmt.Println(i, " - ", v)
- }
- // Если ключ (индекс) мне не нужен
- for _, v := range x {
- fmt.Println(v)
- }
- }
- // ********** Найти минимальное значение в массиве *****************
- package main
- import "fmt"
- func main() {
- x := []int{48,96,86,68,57,82,63,70,37,34,83,27,19,97,9,17,}
- var z int = 1000
- for i := 0; i < len(x); i++ {
- if x[i] < z {
- z = x[i]
- }
- }
- fmt.Println(z)
- }
- // ********** Использование собственной функции поиска мин. значения в массиве (вынес в функцию) *****************
- package main
- import "fmt"
- func main() {
- x := []int{48,96,86,68,57,82,63,70,37,34,83,27,19,97, 9,17,}
- fmt.Println(minimum(x))
- }
- func minimum(x []int) int {
- var z int = 1000
- for i := 0; i < len(x); i++ {
- if x[i] < z {
- z = x[i]
- }
- }
- return z
- }
- // ********** Функция plus внутри другой функции *****************
- package main
- import "fmt"
- func main() {
- x := []int{48,96,86,68,57,82,63,70,37,}
- fmt.Println(minimum(x))
- }
- func plus(b int) int {
- return b + 1
- }
- func minimum(x []int) int {
- var z int = 1000
- for i := 0; i < len(x); i++ {
- x[i] = plus(x[i]) // вот в этой строке используйется другая функция plus
- if x[i] < z {
- z = x[i]
- }
- }
- return z
- }
- // ********** Вывод даты на экран если убрать "Сейчас: %s\n", из fmt.Printf то перестанет работать *****************
- package main
- import (
- "fmt"
- "time"
- )
- func main() {
- tnow := time.Now()
- fmt.Printf("Сейчас: %s\n", tnow)
- }
- // ********** Работающий генератор случайных чисел в диапазоне значений *****************
- // Мой вопрос по этому поводу https://stackoverflow.com/questions/44659343/how-to-choose-a-random-number-from-the-range
- package main
- import (
- "fmt"
- "math/rand"
- "time"
- )
- func main() {
- // Seed should be set once, better spot is func init()
- rand.Seed(time.Now().UTC().UnixNano())
- fmt.Println(randInt(1, 1000))
- }
- func randInt(min int, max int) int {
- return min + rand.Intn(max-min)
- }
- // ********** Факториал на golang *****************
- package main
- import (
- "fmt"
- )
- func main() {
- fmt.Println(factorial(3))
- }
- func factorial(x uint) uint {
- if x == 0 {
- return 1
- }
- return x * factorial(x-1)
- }
- // ********** Перехват PANIC *****************
- package main
- import "fmt"
- func main() {
- // recover присваивает переменной str текст ошибки в случае PANIC
- defer func() {
- str := recover()
- fmt.Println(str)
- }()
- var x [5]float64
- x[0] = 98
- x[1] = 93
- x[2] = 77
- var total float64 = 0
- for i := 0; i <= 5; i++ {
- total += x[i]
- }
- fmt.Println(total / 5)
- }
- // ********** Создание среза и добавление в него элементов *****************
- package main
- import (
- "fmt"
- )
- func main() {
- var x []int
- for i := 0; i < 5; i++ {
- x = append(x, i)
- }
- fmt.Println(x)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement