当前位置: 首页 > news >正文

设计素材免费下载网站网络服务中心

设计素材免费下载网站,网络服务中心,北京网站建设曝光尚词网,网站服务器建设教程视频Golang学习记录:基础篇练习(一) 1、九九乘法表2、水仙花数3、斐波那契数列4、编写一个函数,求100以内的质数5、统计字符串里面的字母、数字、空格以及其他字符的个数6、二维数组对角线的和7、冒泡排序算法8、选择排序算法9、二分查…

Golang学习记录:基础篇练习(一)

  • 1、九九乘法表
  • 2、水仙花数
  • 3、斐波那契数列
  • 4、编写一个函数,求100以内的质数
  • 5、统计字符串里面的字母、数字、空格以及其他字符的个数
  • 6、二维数组对角线的和
  • 7、冒泡排序算法
  • 8、选择排序算法
  • 9、二分查找法

今天分享的是尝试用golang来写一些我们之前用其他语言实现过的例子。如果你也在学习golang的话,可以先自己做一遍,然后再来看我的答案。

在这里插入图片描述

(答案是经过测试的,不存在错误,可放心食用)

1、九九乘法表

package mainimport "fmt"func main() {fmt.Println("九九乘法表:")for i := 1; i <= 9; i++ {for j := 1; j <= i; j++ {fmt.Printf("%d*%d=%-2d ", j, i, i*j)}fmt.Println()}
}

2、水仙花数

package mainimport ("fmt""math"
)func main() {fmt.Println("水仙花数:")for i := 100; i < 1000; i++ {hundred := float64(i / 100)ten := float64(i / 10 % 10)one := float64(i % 10)//math.Pow函数的定义需要两个float64类型的参数。这是由Go语言的标准库决定的。//当你尝试将float32类型的值传递给它时,编译器会抛出一个错误,因为float32和//float64是不同的数据类型,它们在内存中的表示和精度都不同。if math.Pow(hundred, 3)+math.Pow(ten, 3)+math.Pow(one, 3) == float64(i) {fmt.Println(i)}}
}

3、斐波那契数列

package mainimport "fmt"func main() {var n, t1, t2 = 10, 0, 1fmt.Print("斐波那契数列: ")for i := 1; i <= n; i++ {fmt.Print(t1, " ")nextTerm := t1 + t2t1 = t2t2 = nextTerm}fmt.Println()
}

4、编写一个函数,求100以内的质数

package mainimport ("fmt"
)func isPrime(n int) bool {if n <= 1 {return false}for i := 2; i*i <= n; i++ {if n%i == 0 {return false}}return true
}func main() {fmt.Println("100以内的质数:")for i := 2; i <= 100; i++ {if isPrime(i) {fmt.Print(i, " ")}}fmt.Println()
}

5、统计字符串里面的字母、数字、空格以及其他字符的个数

package mainimport ("fmt"
)func main() {str := "Hello, 世界! 123 Go."var letters, digits, spaces, others intfor _, char := range str {if (char >= 'a' && char <= 'z') || (char >= 'A' && char <= 'Z') {letters++} else if char >= '0' && char <= '9' {digits++} else if char == ' ' {spaces++} else {others++}}fmt.Printf("字母: %d\n数字: %d\n空格: %d\n其他: %d\n", letters, digits, spaces, others)
}// switch 判断// func countChars(s string) (letters, digits, spaces, others int) {
// 	for _, char := range s {
// 		switch {
// 		case unicode.IsLetter(char):
// 			letters++
// 		case unicode.IsDigit(char):
// 			digits++
// 		case unicode.IsSpace(char):
// 			spaces++
// 		default:
// 			others++
// 		}
// 	}
// 	return
// }// func main() {
// 	s := "Hello, 世界! 123 Go."
// 	letters, digits, spaces, others := countChars(s)
// 	fmt.Printf("字母: %d\n数字: %d\n空格: %d\n其他: %d\n", letters, digits, spaces, others)
// }

6、二维数组对角线的和

package mainimport ("fmt"
)func main() {matrix := [][]int{{1, 2, 3},{4, 5, 6},{7, 8, 9},}var sum intn := len(matrix)for i := 0; i < n; i++ {sum += matrix[i][i] + matrix[i][n-i-1]}fmt.Printf("二维数组对角线的和: %d\n", sum)
}

7、冒泡排序算法

package mainimport ("fmt"
)func bubbleSort(nums []int) []int {n := len(nums)for i := 0; i < n-1; i++ {for j := 0; j < n-i-1; j++ {if nums[j] > nums[j+1] {nums[j], nums[j+1] = nums[j+1], nums[j]}}}return nums
}func main() {nums := []int{64, 34, 25, 12, 22, 11, 90}fmt.Println("冒泡排序结果:", bubbleSort(nums))
}

8、选择排序算法

package mainimport ("fmt"
)func selectionSort(nums []int) []int {n := len(nums)for i := 0; i < n; i++ {minIdx := ifor j := i + 1; j < n; j++ {if nums[j] < nums[minIdx] {minIdx = j}}nums[i], nums[minIdx] = nums[minIdx], nums[i]}return nums
}func main() {nums := []int{64, 34, 25, 12, 22, 11, 90}fmt.Println("选择排序结果:", selectionSort(nums))
}

9、二分查找法

package mainimport ("fmt"
)func binarySearch(nums []int, target int) int {left, right := 0, len(nums)-1for left <= right {mid := left + (right-left)/2if nums[mid] == target {return mid} else if nums[mid] < target {left = mid + 1} else {right = mid - 1}}return -1
}func main() {nums := []int{2, 3, 4, 7, 10, 21, 23, 40, 67}target := 10result := binarySearch(nums, target)if result != -1 {fmt.Println("元素在数组中的位置为:", result+1)} else {fmt.Println("元素不在数组中")}
}

文末再分享几个我在github上面找到的优质开源项目,方便日后学习:

七天用 Go 从零实现系列:7days-golang

Training for Golang (go language)

Go 数据可视化项目:go-echarts

都到这个份上了,不点赞很难说得过去吧(doge)

o( ̄┰ ̄*)ゞ

http://www.zhongyajixie.com/news/40224.html

相关文章:

  • 长沙网站建设招聘北海seo快速排名
  • 网站建设 网站开发放心网站推广优化咨询
  • 怎么样自己建立网站seo推广怎么学
  • 深圳网站建设民治大道黑马教育培训官网
  • 光谷做网站推广怎么样全国疫情高峰感染进度查询
  • 网站如何做vip等级游戏推广代理
  • 德骏网站建设舆情系统
  • 济南 网站推广网站优化流程
  • 做外贸批发网站是哪个百度怎么投放自己的广告
  • wordpress 文档主题windows优化大师会员兑换码
  • 武汉参开网络网站建设公司百度会员登录入口
  • 什么网站做ppt好山东百度推广代理
  • 今天国际新闻北京网站优化服务商
  • wordpress 全宽页面网站打开速度优化
  • 阿里云服务器做网站好用吗seo上排名
  • 做网站的公司推荐做竞价托管的公司
  • 重庆住房与城乡建设部网站网络推广工作是做什么的
  • 笑话网站html模板优化百度百科
  • 最近三天国内重大新闻seo收录查询
  • 寻找电商网站建设网络营销五个主要手段
  • 五行seo博客搜索引擎seo优化怎么做
  • 食品餐饮网站建设百度搜索风云榜总榜
  • 南阳手机网站推广软文是啥意思
  • 网站的链接要怎么做网络推广外包想手机蛙软件
  • 镇江网站建设教程网页搜索优化seo
  • 外贸公司如何做网站优化大师的优化项目有哪7个
  • 网站怎么做排名广告公司推广软文
  • 网站开发H5网站维护一般都是维护什么
  • 网站模板分类怎么去做网络推广
  • 专门做防盗门的网站100个常用的关键词