Go/算術演算と数学関数
< Go
Go言語における算術演算と数学関数について、基本的な使い方と注意点、そしてコード例を用いて解説します。
算術演算
編集Go言語では、他のプログラミング言語と同様に、四則演算(加減乗除)と剰余演算(%)が可能です。また、Goは型安全であり、異なる型間の暗黙的な型変換は行いません。
- 数値の型
-
- 整数型:
int
,uint
,int8
,uint8
,int16
,uint16
,int32
,uint32
,int64
,uint64
- 浮動小数点型:
float32
,float64
- 複素数型:
complex64
,complex128
- 整数型:
- 数値リテラルの例
5 // int型 3.14 // float64型
- 演算の例
package main import "fmt" func main() { // 整数間の演算 fmt.Println(5 + 3) // 出力: 8 fmt.Println(5 - 3) // 出力: 2 fmt.Println(5 * 3) // 出力: 15 fmt.Println(5 / 3) // 出力: 1 (整数同士の除算は切り捨て) fmt.Println(5 % 3) // 出力: 2 // 浮動小数点数の演算 fmt.Println(5.0 / 3.0) // 出力: 1.6666666666666667 }
- 型の違いによる演算
-
- 数値リテラル: 片方が浮動小数点数の場合、もう片方も浮動小数点数に暗黙的に変換されます。
- 変数: 変数の型が異なる場合は、明示的な型変換が必要になります。
注意: 整数同士の除算は小数点以下を切り捨てた結果になります。浮動小数点数を含む場合のみ、実数として計算されます。
数学関数
編集Go言語では、math
パッケージで様々な数学関数が提供されています。これにより、平方根や指数関数、対数、三角関数などが簡単に使用できます。
- 三角関数
package main import ( "fmt" "math" ) func main() { fmt.Println(math.Cos(math.Pi)) // 出力: -1 fmt.Println(math.Sin(math.Pi / 2)) // 出力: 1 }
- 注意
-
math
パッケージの関数は、引数と戻り値の型がfloat64
です。整数を直接渡すとコンパイルエラーになるため、適切に型変換する必要があります。- 三角関数の角度はラジアンで指定します。度を使用する場合は変換が必要です (例: 角度 *
math.Pi
/ 180)。
- その他の関数
-
math.Sqrt
: 平方根math.Pow
: 累乗math.Exp
: 指数関数 (eのx乗)math.Log
: 自然対数math.Log10
: 常用対数math.Abs
: 絶対値math.Round
,math.Floor
,math.Ceil
: 丸め処理
- 例
package main import ( "fmt" "math" ) func main() { a := 9.0 fmt.Println("Square root:", math.Sqrt(a)) // 平方根: 3 fmt.Println("Power:", math.Pow(2, 3)) // 累乗: 8 fmt.Println("Absolute:", math.Abs(-5)) // 絶対値: 5 }
「[[1]]」も参照
まとめ
編集- Go言語の算術演算は、他の言語と同様ですが、型の扱いには注意が必要です。
math
パッケージを利用することで、様々な数学関数を手軽に利用できます。特に、ラジアン表記や浮動小数点型である点に注意してください。