|
- 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
- }
|