説明
値の符号を設定するにはCopysign()メソッドを使います。最初のパラメーターに値を、2番目のパラメーターに設定したい符号を持つ値を指定します。結果は値は最初のパラメーターで指定したものになり、符号は2番目のパラメーターに設定した値のものが使われます。簡単に書くと2番目のパラメーターが負数の場合のみ結果(最初のパラメーターの値)が負数になります。実際にどのような結果になるかは以下のサンプルコードと実行結果を見た方がわかりやすいでしょう。
package main
import "fmt"
import "math"
func main() {
var n1 = math.Copysign(12, 15)
var n2 = math.Copysign(12, -15)
var n3 = math.Copysign(-12, 15)
var n4 = math.Copysign(-12, -15)
var n5 = math.Copysign(-12, 0)
fmt.Printf("n1 = %f\nn2 = %f\nn3 = %f\nn4 = %f\nn5 = %f\n", n1, n2, n3, n4, n5)
}
実行結果