Golang程序中检查一个数字是正数还是负数

如何在Golang中检查一个数字是正数还是负数

在本教程中,我们将学习如何检查数字是正还是负。本教程包括两种方法,通过使用数学库中的内置函数Signbit()来实现这一目的。另一种方法是使用关系运算符,利用关系运算符,我们可以将一个数字与零进行比较,预测该数字是否为正数。

方法1:使用Signbit()函数

在这个例子中,我们将使用数学库中的内置函数Signbit()来检查数字是正还是负。

语法

Signbit()是数学库中的一个函数,它接受一个浮点数类型的参数,如下面的语法所示。

func Signbit(f float64)

算法

  • 第1步–初始化浮动数。
  • 第2步 – 启动一个if条件,并在if条件中调用Signbit()函数。

  • 第3步 – 打印相应的结果。

示例

package main
import (

   // fmt package provides the function to print anything
   "fmt"

   // Math library is providing Signbit() function
   "math"
)
func main() {

   // declaring and initializing the variable using the shorthand method in Golang
   number := -20.0
   fmt.Println("Golang program to check whether the number is positive or not using Signbit() function in the Math library.")

   // calling the Signbit() function and running the if else block accordingly
   if math.Signbit(number) {
      fmt.Printf("The number %f is negative.\n", number)
   } else {
      fmt.Printf("The number %f is positve.\n", number)
   }
}

输出

Golang program to check whether the number is positive or not using Signbit() function in the Math library.
The number -20.000000 is negative.

方法2:使用关系操作符

在这个例子中,我们将使用关系运算符>=和<来检查数字是正还是负。

语法

这种方法是使用关系运算符<, >=,语法如下。

if number < 0 {}
If number >= 0 {}

算法

  • 第1步–初始化浮动数。
  • 第2步 – 将数字与相应的关系运算符进行比较。

  • 第3步 – 打印相应的结果。

示例

package main
import (

   // fmt package provides the function to print anything
   "fmt"
)
func main() {

   // declaring and initializing the variable using the shorthand method in Golang
   number := 10.0
   fmt.Println("Golang program to check that the number is positive or not using the relational operators.")
   fmt.Println("Checking whether the number is positive or not using the > operator.")

   // using the > operator and running the if else block accordingly
   if number < 0 {
      fmt.Printf("The number %f is negative.\n", number)
   } else {
      fmt.Printf("The number %f is positve.\n", number)
   }
   fmt.Println("Checking whether the number is positive or not using the >= operator.")

   // using the >= operator and running the if else block accordingly
   if number >= 0 {
      fmt.Printf("The number %f is positve.\n", number)
   } else {
      fmt.Printf("The number %f is negative.\n", number)
   }
}

输出

Golang program to check that the number is positive or not using the relational operators.
Checking whether the number is positive or not using the > operator.
The number 10.000000 is positve.
Checking whether the number is positive or not using the >= operator.
The number 10.000000 is positve.

结论

这就是检查数字是否为正数的两种方法。第一种方式在模块化和代码可重用性方面更适合。要了解更多关于go的知识,你可以探索这些教程。