以下是小编整理的GO语言求100以内的素数,本文共7篇,欢迎阅读与收藏。本文原稿由网友“克劳恩”提供。
篇1:GO语言求100以内的素数
这篇文章主要介绍了GO语言求100以内的素数,主要通过筛选法来实现,涉及GO语言基本的循环与函数调用方法,需要的朋友可以参考下
思路:找出一个非素数就把它挖掉,最后剩下就是素数。
下面就来欣赏一下go简洁的代码吧
目前不支持GO的代码插入,使用xml的代替一下。
代码如下:
package main
import (
“fmt”
“math”
)
func main {
var i, j, n int
var a [101]int
for i = 1; i <= 100; i++ {
a[i] = i
}
a[1] = 0
for i = 2; i < int(math.Sqrt(100)); i++ {
for j = i + 1; j <= 100; j++ {
if (a[i] != 0) && (a[j] != 0) {
if a[j]%a[i] == 0 {
a[j] = 0
}
}
}
}
fmt.Println()
for i, n = 1, 0; i <= 100; i++ {
if a[i] != 0 {
fmt.Print(a[i], “\\t”)
n++
}
if n == 10 {
fmt.Println()
n = 0
}
}
}
希望本文所述对大家的GO语言程序设计有所帮助,
篇2:Go语言生成素数的方法
作者:依山带水 字体:[增加 减小] 类型:
这篇文章主要介绍了Go语言生成素数的方法,实例分析了Go语言生成素数的技巧,需要的朋友可以参考下
本文实例讲述了Go语言生成素数的方法,分享给大家供大家参考。具体实现方法如下:
代码如下:
package main
// 生成2, 3, 4, ... 到 channel ‘ch‘中.
func Generate(ch chan<- int) {
for i := 2; ; i++ {
ch <- i // Send ‘i‘ to channel ‘ch‘.
}
}
// 从管道复制值 ‘in‘ 到 channel ‘out‘,
// 移除可整除的数 ‘prime‘.
func Filter(in <-chan int, out chan<- int, prime int) {
for {
i := <-in // 接收值 ‘in‘.
if i%prime != 0 {
out <- i // 传入 ‘i‘ 到 ‘out‘.
}
}
}
func main() {
ch := make(chan int) // Create a newchannel.
go Generate(ch) // Launch Generate goroutine.
for i := 0; i < 10; i++ {
prime := <-ch
print(prime, “\\n”)
ch1 := make(chan int)
go Filter(ch, ch1, prime)
ch = ch1
}
}
希望本文所述对大家的Go语言程序设计有所帮助,
篇3:GO 语言学习指南
这篇文章主要介绍了GO 语言学习指南,介绍的相当全面,有需要的小伙伴参考下吧,
1.导入包,一个主函数中只有一个main函数,包含一个main包,主函数中我们要申明main的包!
代码如下:
package main
func main{
}
2.引入包文件,譬如我们使用的是fmt包,打印helloword用,golang有一个包可见性的定义,就譬如其他语言中的private 、protected这些声明。当手写字母是小写的就是包内可用,包外就不可以用了,手写字母大写,引用包的就可以使用!举个例子:fmt.Println();我们会发现我们使用的和引用的函数都是大写的!小写的会调用错误的!
代码如下:
package main
import “fmt”
func main(){
fmt.Println(“你好,脚本之家”);
}
3.包的混淆机制,我们可以包的别名,譬如我们感觉包记不住或者说包的名字差不多我们就使用这个别名机制!
代码如下:
package main
import str “fmt”
package main(){
str.Println(“你好,脚本之家”);
}
4.多个包、常量、全局变量、一般类型等简写。当我们有多个常量、包等怎么申明呢
代码如下:
import( const ( var(
“fmt” PI =”3.1415926” name =1
“net” NAME =”widuu” age =12
“io” AGE =”12” wo =”me”
) ) )
5.Go的类型
代码如下:
bool 布尔型 就有true false 没有0和1
int 整型 根据平台自定义如果你是32位的就是32位的整型
int8 8位的整型 在-128~256这个取值范围 其实就在2的8次方的值,有符号就是带负数,uint8就是无符号的
int16 16位整型
rune 32位的有符号的整型
int64 64位整型
float32/64位
complex64 /complex128 负数类型
其他类型
array slice string
引用类型
slice map chan
接口类型 interface
函数类型 func
5.变量的申明与赋值和申明的值
我们申明,没有赋值的时候我们会发现这样的
当申明 int float 输出是0 申明bool 输出的是false
引用包math输出最大的值和最小值,譬如这个输出最大的int16的取值范围fmt.Println(math.MaxInt16)
6.类型申明我们可以自定义类型申明,譬如如下
代码如下:
package main
import std “fmt”
type 文本 string
func main() {
var a 文本
a = “你好”
std.Println(a)
}
7.类型转换
查看源代码打印帮助
代码如下:
var a float32 = 100.01
b:=int(a) //输出a的值就是100.01 输出b的值是100
var c int = 65
d:=string(c) //输出的是A这就直接转换成文本的形式A
b:=strconv.Itoa(c) //这样输出的就是65直接文本输出
篇4:go语言工程结构
这篇文章主要简单介绍了go语言工程结构,对于我们学习go语言很有帮助,需要的朋友可以参考下
Go是一门推崇软件工程理念的编程语言,
Go的代码必须放在工作区中。工作区其实就是一个对应于特定工程的目录,它应该包含三个子目录: src 用于以代码包的形式组织并保存Go源码文件。应该分为三类:库源码文件、命令源码文件、测试源码文件。
pkg 用于存放由go install命令构建安装后的代码包(库源码文件)的“.a“归档文件。与GOROOT目录下的pkg功能类似,区别在于,工作目录中的pkg目录专门用来存放用户代码的归档文件。 bin 在通过go install命令完成安装之后,保存由Go命令源码文件生成的可执行文件,
ps:所谓命令源码文件,就是可以独立运行,可被go build或go install命令转换成可执行文件。库源码文件指某个代码包中的普通源码文件。
设置GOPATH
代码如下:
$vim /etc/profile export GOPATH=$HOME/golang/lib:$HOME/golang/learngo
$source /etc/profile
$HOME/golang/lib用于存放第三方代码库(go get命令获得)
$HOME/golang/learngo 用于存放学习代码
以上就是本文的全部内容了,希望大家能够喜欢。
篇5:go语言base64用法实例
作者:不吃皮蛋 字体:[增加 减小] 类型:
这里展示golang base64 的一个小例子,代码如下:
代码如下:
package main
import (
”fmt“
”encoding/base64“
)
func main {
b64 := base64.NewEncoding(”ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/“)
println(b64.EncodeToString([]byte(”哈哈“)))
}
发现了一个更好的办法:
代码如下:
package main
import (
”fmt“
”encoding/base64“
)
func main() {
s := []byte(”golang.org/pkg/encoding/base64/#variables“)
fmt.Printf(”%s\\n“, base64.StdEncoding.EncodeToString(s))
}
希望本文所述对大家的Go语言程序设计有所帮助,
篇6:go语言template用法实例
作者:不吃皮蛋 字体:[增加 减小] 类型:转载
golang的template包很好用,做一些复杂的文本格式生成太有帮助了,生成网页也是很不错的,使用起来非常方便
代码如下:
package main
import (
”fmt“
”os“
”text/template“
)
type Latlng struct {
Lat float32
Lng float32
}
func (latlng Latlng) String() string {
return fmt.Sprintf(”%g/%g“, latlng.Lat, latlng.Lng)
}
func main() {
data := []template.FuncMap{}
data = append(data, template.FuncMap{”name“:”dotcoo1“, ”url“:”www.jb51.net/“, ”latlng“:Latlng{24.1, 135.1}})
data = append(data, template.FuncMap{”name“:”dotcoo2“, ”url“:”www.jb51.net/“, ”latlng“:Latlng{24.2, 135.2}})
data = append(data, template.FuncMap{”name“:”dotcoo2“, ”url“:”www.jb51.net/“, ”latlng“:Latlng{24.3, 135.3}})
datatpl := `{{range .}}{{template ”user“ .}}{{end}}`
usertpl := `{{define ”user“}}name:{{.name}}, url:{{.url}}, latlng:{{.latlng}} lat:{{.latlng.Lat}} lng:{{.latlng.Lng}}
{{end}}`
tpl, err := template.New(”data“).Parse(datatpl)
if err != nil {
panic(err)
}
_, err = tpl.Parse(usertpl)
if err != nil {
panic(err)
}
err = tpl.Execute(os.Stdout, data)
if err != nil {
panic(err)
}
println()
}
希望本文所述对大家的Go语言程序设计有所帮助,
篇7:go语言遍历文件夹示例
这篇文章主要介绍了go语言遍历文件夹示例,本文直接给出实现代码,需要的朋友可以参考下
用python遍历文件夹很方便,在go的世界里,我也需要这样的功能,找了找文档,里面有这个功能(具体参考这里:golang.org/pkg/path/filepath/ )……
好,不废话了,我也想早点睡,直接上代码。
代码如下:
代码如下:
/*
File : getFilelist.go
Author : Mike
E-Mail : Mike_Zhang@live.com
*/
package main
import (
”path/filepath“
”os“
”fmt“
”flag“
)
func getFilelist(path string) {
err := filepath.Walk(path, func(path string, f os.FileInfo, err error) error {
if ( f == nil ) {return err}
if f.IsDir() {return nil}
println(path)
return nil
})
if err != nil {
fmt.Printf(”filepath.Walk() returned %v\\n\", err)
}
}
func main(){
flag.Parse()
root := flag.Arg(0)
getFilelist(root)
}
运行效果如下:
- 一年级100以内加减法应用题2025-09-24
- GO语言常用的文件读取方式2022-12-11
- 100以内数的连加、连减2024-07-14
- 小学数学100以内加减法知识点2023-07-27
- 一年级100以内加减法口算的练习题2024-09-26
- “肢体语言”在求职中的重要性2023-01-10
- go语言执行windows下命令行的方法2023-04-27
- 《100以内的加法和减法(二)》说课稿2024-10-20
- 《100以内数的顺序》评课稿2025-01-27
- 一年级《100以内数的顺序》评课稿2022-12-11