Browse Source

Version 0.39

master
Patrick Foubet 1 year ago
parent
commit
293636be49
3 changed files with 92 additions and 0 deletions
  1. +11
    -0
      fonctions/a.go
  2. +7
    -0
      fonctions/b.go
  3. +74
    -0
      fonctions/main.go

+ 11
- 0
fonctions/a.go View File

@@ -0,0 +1,11 @@
package main

import "fmt"

func init() {
fmt.Println("init depuis fichier a")
}

func main() {
fmt.Println("main de a")
}

+ 7
- 0
fonctions/b.go View File

@@ -0,0 +1,7 @@
package main

import "fmt"

func init() {
fmt.Println("init depuis fichier b")
}

+ 74
- 0
fonctions/main.go View File

@@ -0,0 +1,74 @@
package main

import "fmt"

func init() {
fmt.Println("Salut depuis main 1")
}

func init() {
fmt.Println("Salut depuis main 2")
}

func init() {
fmt.Println("Salut depuis main 3")
}

func main() {
fmt.Println("Salut tout le Monde")
q, r := NamedDivide(15, 6)
fmt.Printf("Division 15 / 6, Quotient: %d Reste: %d\n", q, r)
fmt.Printf("Facture: %.2f\n", Facture(8.75, 10.2, 3.7))
Bonjour()

Bonjour := func() string {
return "On cache la fonction externe Bonjour"
}

TakeFunc(GiveFunc())
TakeFunc(Bonjour)
}

func Bonjour() {
fmt.Println("Bonjour")
}

// ceci provoque une erreur de redefinition
// func Bonjour(m string) {
// fmt.Println(m)
// }

func Add(a, b int) int {
return a + b
}

func Divide(a, b int) (int, int) {
return a / b, a % b
}

func NamedDivide(a, b int) (quotient int, remainder int) {
quotient, remainder = a/b, a%b
return
}

func TakeFunc(take func() string) {
data := take()
fmt.Println(data)
}

func GiveFunc() func() string {
f := func() string {
return "Fonction retour"
}
return f
}

func Facture(mht float64, items ...float64) (total float64) {
for _, item := range items {
total += item
}

total *= (1 + mht*.01)
return
}


Loading…
Cancel
Save