Un cours pour se lancer dans la programmation avec le langage Go (golang).
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

53 lines
1.2 KiB

  1. /* Copyright (C) 2011-2023 Patrick H. E. Foubet - E2L Ivry
  2. Ecole du Logiciel Libre : https://e2li.org/
  3. This program is free software: you can redistribute it and/or modify
  4. it under the terms of the GNU General Public License as published by
  5. the Free Software Foundation, either version 3 of the License, or any
  6. later version.
  7. This program is distributed in the hope that it will be useful,
  8. but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  10. GNU General Public License for more details.
  11. You should have received a copy of the GNU General Public License
  12. along with this program. If not, see <http://www.gnu.org/licenses/>
  13. *******************************************************************/
  14. package main
  15. import (
  16. "fmt"
  17. )
  18. func main() {
  19. adder := func(a int, b int) int {
  20. return a + b
  21. }
  22. fmt.Println(adder(5, 6))
  23. counter1 := counter()
  24. counter2 := counter()
  25. fmt.Println(counter1())
  26. fmt.Println(counter2())
  27. deferredPrint()
  28. }
  29. func counter() func() int {
  30. i := 0
  31. return func() int {
  32. i++
  33. return i
  34. }
  35. }
  36. func deferredPrint() {
  37. defer fmt.Println("defer 1")
  38. fmt.Println("regular thing")
  39. defer fmt.Println("defer 2")
  40. }