在Go语言中,可以使用以下代码来比较两个尺寸的等比相似程度:

package main

import (
	"fmt"
	"math"
)

type Size struct {
	Width  int
	Height int
}

func main() {
	size1 := Size{Width: 200, Height: 400}
	size2 := Size{Width: 300, Height: 400}
	size3 := Size{Width: 200, Height: 300}

	ratio1 := math.Abs(float64(size1.Width)/float64(size1.Height) - 1)
	ratio2 := math.Abs(float64(size2.Width)/float64(size2.Height) - 1)
	ratio3 := math.Abs(float64(size3.Width)/float64(size3.Height) - 1)

	if ratio1 < ratio2 && ratio1 < ratio3 {
		fmt.Println("尺寸1最相近")
	} else if ratio2 < ratio1 && ratio2 < ratio3 {
		fmt.Println("尺寸2最相近")
	} else {
		fmt.Println("尺寸3最相近")
	}
}

这段代码首先定义了一个 Size 结构体来表示尺寸,包括宽度和高度。然后,分别创建了三个尺寸对象 size1size2size3。接下来,计算了每个尺寸的宽高比,并使用 math.Abs() 函数计算了宽高比与1的差值的绝对值。

最后,通过比较这三个差值的大小,判断出哪个尺寸的宽高比与1最接近,从而得出最相近的尺寸。

运行该代码,将输出最相近的尺寸。在这个例子中,尺寸1的宽高比与1最接近,所以输出为:"尺寸1最相近"

go语言 写出如何比较宽200高400 与宽300高400 宽200高300 哪个尺寸等比最相近

原文地址: https://www.cveoy.top/t/topic/hNVA 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录