Advertisement
AlexNovoross87

Functions

May 8th, 2025 (edited)
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Go 2.22 KB | None | 0 0
  1. Создание функций
  2. Входные данные (параметры) функции    Выходные данные (возвращаемое значение) функции
  3.             ||                                            ||
  4.             VV                                            VV
  5. func name(paraml type, param2 type)                      type { // body '
  6. }                        ^^
  7.                          ||
  8.       Входные данные (параметры) функции
  9.  
  10. !!!! НЕЙМИНГ КАК МОДИФИКАТОР ДОСТУПА
  11. Foo() - будет видна из вне
  12. foo() - будет приватной функцией пакета
  13.  
  14.  
  15.  
  16. //Возврат нескольких значений
  17. func multiReturn() (int, int, int) {
  18.     return 1, 2, 3
  19. }
  20. a, b , _ := multiReturn()
  21. _ - игнорирование результата
  22.  
  23. //Возврат нескольких именованных значений
  24. func multiReturn() (a int,b int,c int) {
  25.     a = 1
  26.       b = 2
  27.       c = 3
  28.        return // или return a,b,c
  29. }
  30.  
  31. Советы
  32. Соглашение по именованию функций в Go - camelCase
  33. func myReallyLongFunctionName() {}
  34.  
  35. Функция как переменная
  36. -----------------------
  37. var multiplier func(x, у int) int
  38. multiplier = func(x, у int) int { return x * у}
  39. fmt.Printin(multiplier(first, second))
  40. divider := func(x, у int) int { return x / у }
  41. fmt.Printin(divider(second, first))
  42.  
  43. Прием функций как агрумента
  44. ----------------------------
  45.                           //прием функции
  46. tunc calculate(x, у int, action func(x у int) int) int
  47. {
  48.       return action(x, y)
  49. }
  50.  
  51. //Возврат функции из функции
  52. func createDivider(divider int) func(x int) int {
  53.       return func(x int) int {
  54.             return x / divider
  55.       }
  56. }
  57.  
  58. Замыкание
  59. -------------------------------
  60. тело функции замыкается на переменную
  61. и возвращает актуальное знгачение.
  62.  
  63. dollar := 36
  64. func getDollarValue() int {
  65.       return dollar
  66. }
  67. fat.Prlntln(getDollarValue())
  68. dollar = 76
  69. fat.Println(gotDollarValue())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement