github.com/maikovskiys/l1tasks@v0.0.0-20230927052451-6436d7687dc9/develop/dev24/main.go (about)

     1  package main
     2  
     3  import (
     4  	"fmt"
     5  	"math"
     6  )
     7  
     8  /*
     9  Разработать программу нахождения расстояния между двумя точками, которые представлены в виде структуры Point с инкапсулированными параметрами x,y и конструктором.
    10  */
    11  
    12  // AB = √((xb - xa)2 + (yb - ya)2).
    13  func main() {
    14  	a := NewPoint(2, 2)
    15  	b := NewPoint(5, 5)
    16  	result := distanse(a, b)
    17  	fmt.Println(result)
    18  }
    19  func distanse(a, b *Point) float64 {
    20  	first := b.x - a.x
    21  	second := b.y - a.y
    22  	ab := math.Sqrt((math.Pow(float64(first), 2)) + (math.Pow(float64(second), 2)))
    23  	return ab
    24  }
    25  
    26  type Point struct {
    27  	x int
    28  	y int
    29  }
    30  
    31  func NewPoint(x, y int) *Point {
    32  	return &Point{
    33  		x: x,
    34  		y: y,
    35  	}
    36  }