Un cours pour se lancer dans la programmation avec le langage Go (golang).
Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

75 wiersze
1.0 KiB

  1. package main
  2. import (
  3. "fmt"
  4. "math"
  5. )
  6. type Wheel struct {
  7. Circle
  8. Material string
  9. Color string
  10. X float64
  11. }
  12. func (w Wheel) Info() {
  13. fmt.Printf("Une roue est faite en %s de couleur %s\n", w.Material, w.Color)
  14. }
  15. type Circle struct {
  16. X float64
  17. Y float64
  18. Radius float64
  19. }
  20. type Shape interface {
  21. Area() float64
  22. Area2() float64
  23. }
  24. func (c *Circle) Area() float64 {
  25. return c.Radius * c.Radius * math.Pi
  26. }
  27. func (c Circle) Area2() float64 {
  28. return c.Radius * c.Radius * math.Pi
  29. }
  30. func Area(c Circle) float64 {
  31. return c.Radius * c.Radius * math.Pi
  32. }
  33. func ShapeArea(s Shape) float64 {
  34. return s.Area()
  35. }
  36. func main() {
  37. c1 := Circle{
  38. X: 15.0,
  39. Y: 12.0,
  40. Radius: 8.5,
  41. }
  42. c2 := Circle{15.0, 12, 8.5}
  43. fmt.Println(c1 == c2)
  44. fmt.Println(c1.Area() == c1.Area2())
  45. w1 := Wheel{
  46. Circle: Circle{
  47. Radius: 10.0,
  48. X: 15.0,
  49. },
  50. Material: "Caoutchouc",
  51. Color: "Noire",
  52. X: 5.0,
  53. }
  54. w1.Info()
  55. fmt.Println(w1.Area())
  56. fmt.Println(w1.X)
  57. fmt.Println(w1.Circle.X)
  58. }