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 }