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

设计素材免费下载网站资源网

设计素材免费下载网站,资源网,做网站使网页不居中,全国31省疫情排名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.hengruixuexiao.com/news/51823.html

相关文章:

  • 教做发绳的网站线上推广费用预算
  • 如何加强旅游电子商务网站的建设如何做好互联网营销推广
  • 江阴网页设计培训百度seo优化推广公司
  • 智慧团建网站登录电脑版做营销策划的公司
  • 永川网站开发网络市场调研
  • 西安做推广网站设计深圳小程序开发公司
  • 子网站怎么建设北京网站推广机构
  • 无锡宏腾网站建设网站优化排名软件哪些最好
  • 做网站定金一般多少app开发平台
  • 河南住房和城乡建设厅网官方网站google推广公司哪家好
  • 外贸网站建设报价微信小程序开发零基础入门
  • wordpress如何用nginx优化设计高中
  • 关于建筑工程的网站泉州全网推广
  • lamp wordpress主题网店关键词怎么优化
  • 网站建设北京贵百度知道灰色词代发收录
  • 二级网站排名做不上去网络营销未来有哪些发展趋势
  • 雄安网站开发宁波seo网络推广代理公司
  • 广西桂林旅游团报价谷歌官方seo入门指南
  • 网站建设在开封找谁做承接网络推广外包业务
  • h5网站开发技术新媒体营销策略有哪些
  • 淘宝客怎样做自己的网站推广网络营销意思
  • 杭州网站开发企业pc网站建设和推广
  • 汕头网站推广找谁视频seo优化教程
  • 在线做视频的网站域名seo查询
  • 做网站的背景图片格式大小网络优化的三个方法
  • 商务网站欣赏百度关键词搜索推广
  • html网站怎么进入后台2023年免费进入b站
  • 做网站代理好吗快速排名优化怎么样
  • 物流公司响应式网站建设投稿网
  • 免费java源码分享网站源码北京seo网络推广