Golang 使用库函数显示两个区间内的素数
在本文中,我们将讨论如何使用Go语言中的函数来显示两个区间内的素数。
语法
func Sieve(n int) []int
func IsPrime(n int) bool
If else conditionals in GO language:
If condition {
// code to be executed
} else {
// code to be executed
}
For loop as a while loop in GO language:
for condition {
// code to be executed
// increment or decrement the count variable.
}
Sieve() 函数是在primes包中定义的函数,接受一个整数作为参数,并返回一个包含该整数值以内的所有质数的整数数组。
IsPrime() 函数是在primes包中定义的函数,接受一个64位无符号整数作为参数,并根据该数是否为质数返回一个布尔表达式。
有许多方法可以显示两个区间之间的质数。我们将在接下来的示例中讨论这些方法。
示例1:使用函数在两个区间内显示质数的Golang程序
步骤
- 步骤1 - 导入fmt和primes包。
-
步骤2 - 初始化并定义primeNumber()函数。
-
步骤3 - 开始main()函数。
-
步骤4 - 初始化数据类型为int的变量并分配值。
-
步骤5 - 调用primeNumber()函数,并将分配的数字作为命令行参数传递给它。
-
步骤6 - 在屏幕上打印结果。
示例
// golang program to display prime numbers using library function.
package main
import (
"fmt"
"github.com/fxtlabs/primes"
)
// fmt package allows us to print anything on the screen.
// primes package allows us to use methods that help us to use methods related to primes.
// initializing and defining the primeNumber() function
func primeNumber(number int) []int {
// getting the prime numbers in the said range
prime := primes.Sieve(number)
// returning the result
return prime
}
func main() {
// initializing the variables to get the intervals.
var number int
// printing prime numbers between 2 and 50
number = 50
// calling the primeNumber() function
result := primeNumber(number)
// printing the results on the screen
fmt.Printf("prime numbers between 2 and %d are: ", number)
fmt.Println(result)
}
main.go:5:4: cannot find package "github.com/fxtlabs/primes" in any of:
/usr/lib/golang/src/github.com/fxtlabs/primes (from GOROOT)
/home/cg/root/99493/go/src/github.com/fxtlabs/primes (fromGOPATH)
输出
prime numbers between 2 and 50 are: [2 3 5 7 11 13 17 19 23 29 31 37 41 43 47]
代码说明
-
首先,我们导入 fmt 包,该包允许我们打印任何内容,以及允许我们使用其他预定义的素数方法的
primes
包。 -
然后创建和定义
primeNumber()
函数。该函数包含打印素数的逻辑。 -
开始
main()
函数。 -
初始化并定义一个变量
number
,它将是打印素数的上限。 -
然后调用
primeNumber()
函数,并将这个值作为命令行参数传递给它。 -
调用
sieve()
方法,该方法在primes
包中定义,并将所选的数字作为参数传递给它。 -
将此函数返回的整数数组存储在一个单独的变量中,并返回它。
-
从
primeNumbers()
函数中返回这个数组。 -
使用
fmt.Println()
函数将结果存储并打印在屏幕上。
示例2:使用函数显示两个自定义间隔之间的素数。
让我们使用另一种方法来使用函数打印两个间隔内的素数。
步骤
- 步骤1 - 导入
fmt
包。 -
步骤2 - 初始化并定义
primeNumber()
函数。 -
步骤3 - 开始
main()
函数。 -
步骤4 - 初始化int类型的变量并为它们赋值。这些值将形成计算素数的间隔。
-
步骤5 - 调用
primeNumber()
函数。 -
步骤6 - 在屏幕上打印结果。
示例
// golang program to display prime numbers in two custom intervals using library function.
package main
import (
"fmt"
"github.com/afshin/prime"
)
// fmt package allows us to print anything on the screen.
// prime package allows us to use inbuilt prime functions
// initializing and defining the primeNumber() function
func primeNumber(lower_limit, upper_limit uint64) {
fmt.Printf("prime numbers between %d and %d are:\n", lower_limit, upper_limit)
// printing the result
for i := lower_limit; i <= upper_limit; i++ {
// getting bool value from isprime() function and using it as condition of if loop.
if prime.IsPrime(i) {
fmt.Println(i)
}
}
}
func main() {
// initializing the variables to get the intervals from the user
var lower_limit, upper_limit uint64
// let us print prime numbers between 5 and 60.
// assigning the value of lower_limit and upper_limit variables.
lower_limit = 5
upper_limit = 60
// calling the primeNumber() function
primeNumber(lower_limit, upper_limit)
}
输出
prime numbers between 5 and 60 are:
5
7
11
13
17
19
23
29
31
37
41
43
47
53
59
代码描述
-
首先,我们导入 fmt 包,该包允许我们打印任何内容,以及导入 primes 包,该包允许我们使用其他预定义的质数方法。
-
然后创建和定义 primeNumber() 函数。该函数包含打印质数的逻辑。
-
启动 main() 函数。
-
初始化并为变量分配数字,这些数字将是打印质数的上限和下限。
-
然后调用 primeNumber() 函数,并将这些区间作为参数传递给它。
-
调用 primes 包中定义的 isprime() 方法。该函数接受一个64位无符号整数作为参数,并根据该数字是否是质数返回布尔表达式。
-
对区间的上限和下限之间的每个值检查此条件。
-
使用 fmt.Printf() 函数在屏幕上打印满足上述条件的值。
结论
我们成功编译并执行了 Go 语言程序,使用函数展示了两个区间内的质数,并提供了示例。