그래서이 값의 차이가 끝날 때까지 필요한만큼 반복되는이 작은 코드 조각이 있습니다. 코드를 실행 한 후에 반복되는 횟수를 세고 인쇄하는 것이 바람직합니다. (필자가 필요로하는 모든 것을 인쇄하는 것과 함께).Go에서 반복 횟수를 어떻게 계산합니까?
편집 : 좋아, 나는 이렇게 할 수 있었다. 반복을 세어 출력 함수로 전달하는 더 쉬운 방법이 있는지 궁금합니다.
func sqrt(x float64) (float64, int) {
k := 1
z := 1.0
q := (z*z - x)/(2*z)
for {
if math.Abs(-q) > 0.001 {
z -= q
q = (z*z - x)/(2*z)
k += 1
} else {
break
}
}
return z, k
}
func main() {
k := 1
z := 1.0
z, k = sqrt(9)
fmt.Println("Your sqrt = ", z)
fmt.Println("Math Sqrt = ",math.Sqrt(9))
fmt.Println("Iterations: ", k)
}
go와 함께 여러 개의 반환 값을 전달할 수 있습니다. 단순히 함수의 서명을 func sqrt (x float64) (float64, int) {} –
@ william.taylor.09와 같이 변경하고 k가 정수의 이름 인 경우 z 대신 k를 반환합니다. 인쇄용으로 어떻게 분리합니까? 내 게시물을 원래 출력으로 업데이트했습니다. – Arthmost
답변보기 아래에 게시 됨 –