What is the J0 function in Golang?

The programming language Go uses the J0 function to find the order-zero Bessel function of the passed argument.

To use this function, you must import the math package in your file and access the J0 function within it using the . notation (math.J0). Here, J0 is the actual function, while math is the Go package that stores the definition of this function.

Function definition

The definition of the J0 function inside the math package is:

Parameters

J0 function takes a single argument of type float64. This argument represents the number you want to find the order-zero Bessel function of.

Return value

The J0 function returns a single value of type float64, representing the order-zero Bessel function of the argument.

Some special cases are when you pass something that is infinity, 0, or NAN as an argument:

  • If the argument has an infinite value, the return value will be 0.

  • If the argument has a value of 0, the return value will be 1.

  • If a NAN argument is passed, the return value is also NAN.

Examples

Following is a simple example where we find out the order-zero Bessel function of 5.35:

package main
import(
"fmt"
"math"
)
func main() {
var x float64 = 5.35
y := math.J0(x)
fmt.Print("The order-zero Bessel function of ", x," is ", y)
}

The following example shows how the J0 function deals with an argument whose value is infinite (regardless of the sign):

To generate the infinite value, we are using the Inf function in the math package. It generates an infinite value with the same sign as the sign on the argument passed to it.

package main
import(
"fmt"
"math"
)
func main() {
var x float64 = math.Inf(1)
y := math.J0(x)
fmt.Print("The order-zero Bessel function of ", x," is ", y, "\n")
x = math.Inf(-1)
y = math.J0(x)
fmt.Print("The order-zero Bessel function of ", x," is ", y)
}

The following piece program shows how the J0 function handles NAN values:

Here, we use the NaN function present in the math go package to generate a NAN value.

package main
import(
"fmt"
"math"
)
func main() {
my_nan := math.NaN()
y := math.J0(my_nan)
fmt.Print("The order-zero Bessel function of ", my_nan," is ", y, "\n")
}
Copyright ©2024 Educative, Inc. All rights reserved