织梦模板下载商城网站模板(高端大气上档次:带数据)/销售推广方案
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( ̄┰ ̄*)ゞ
相关文章:

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

sql注入(7), python 实现盲注爆破数据库名, 表名, 列名
python 实现盲注 该python脚本根据之前介绍的盲注原理实现, 对于发送的注入请求没有做等待间隔, 可能给目标服务器造成一定 压力, 所以仅限于本地测试使用. import requests, time# 时间型盲注 def time_blind(base_url, cookie):for length in range(1, 20): # 测试数据库名…...

2021年12月 Python(二级)真题解析#中国电子学会#全国青少年软件编程等级考试
Python编程(1~6级)全部真题・点这里 C/C编程(1~8级)全部真题・点这里 一、单选题(共25题,每题2分,共50分) 第1题 执行以下程序 a[33,55,22,77] a.sort() for i in a:print(i)运行…...

卡尔曼家族从零解剖-(01)预备知识点
讲解关于slam一系列文章汇总链接:史上最全slam从零开始,针对于本栏目讲解的 卡尔曼家族从零解剖 链接 :卡尔曼家族从零解剖-(00)目录最新无死角讲解:https://blog.csdn.net/weixin_43013761/article/details/133846882 文末正下方中心提供了本人 联系…...

技术分享| 二进制部署MySQL
一、介绍 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System&#x…...

3.1 模板测试与深度测试(Stencil Test Z Test)
一、模板测试(Stencil Test) 模板测试可以实现的一些效果图 1.是什么 ①从渲染管线出发:模板测试是在逐片源操作阶段,透明测试之后,深度测试之前的位置。 ②从书面概念上理解 说到模板测试,就要先说道模…...

一些常见的必须会的谭浩强基本代码大全也是常考的应试是没问题的
//1. 1£¡+2£¡+3£¡+...20! /* #include <stdio.h> int main() {int i;long sum=0,k=1;for(i=1;i<=20;i++){k*=i;sum+=k;}printf("%d",sum); } *///方法2 /* #include <stdio.h> int main() {int i,j;long sum=0,k;for(i…...

C语言天花板——指针(进阶1)
接上次的指针初阶(http://t.csdnimg.cn/oox5s),这次我们继续的探寻指针的奥秘,发车咯!!!🚗🚗🚗 一、字符指针 可以看到我们将指针p给打印出来,就是…...

二、深度测试(Z Test)
1.是什么 ①从渲染管线出发 ②书面上理解 所谓深度测试,就是针对当前对象在屏幕上(更准确的说是frame buffer)对应的像素点,讲对象自身的深度值与当前该像素点缓存的深度值进行比较,如果通过了,本对象再改…...

Vue_Bug VUE-ADMIN-TEMPLATE-MASTER electron build后无法登录
Bug描述: VUE-ADMIN-TEMPLATE-MASTER 项目在经过 electron 的 build 命令后,无法登录 问题原因: 大部分vue 前段项目 会使用 js-cookie 这个库 来操作浏览器的cookie 然而这个库 在electron下 会无法使用 (最坑的是还没报错&…...

睡衣内衣服装商城小程序的作用是什么
服装行业一直都是市场很重要的组成部分,每个人都需要,且根据品牌、样式作用等可以细分很多类目,其中睡衣内衣也有不小的市场规模,从业商家多、市场需求度高。 但同时睡衣内衣经营痛点也比较明显。 当今消费者习惯于线上消费&…...

idea怎么设置作者信息(详细)
目录 一:在Java类的开头自动注释作者名字和日期等信息 二:给Java的方法注释作者名字和日期等信息 1. 不可修改的模板:Postfix Completion 2. 可修改的模板:Live Templates tips:首先给大家推荐两款好用的免费软件&…...

产品经理如何有效跟进开发进度?
作为产品经理,很难跟进开发过程。随着软件开发的复杂性和不断变化的产品环境,产品经理必须保持在开发过程的顶端,并确保目标得到满足。产品经理如何跟进开发进度? 第一步是对开发过程本身有一个扎实的理解。产品经理必须熟悉开发过…...

【已解决】Qt无法追踪到mouse移动事件
本博文源于笔者正在亲身经历的Qt无法追踪到鼠标移动事件。事情是这样的,笔者有一个应用程序,当应用程序移动进窗口里的时候,每移动一下,检测鼠标位置,进而调整鼠标的形状,结果发现它这死活不听话。后来解决…...

Dubbo从0到1——万字完整学习笔记
目录 RPC理论概述 RPC的基本思想 RPC的实现组成部分 RPC的实现流程 RPC的核心思想 RPC调用分类 初识Dubbo Dubbo特性 Dubbo设计架构 zookeeper环境搭建 搭建注册中心环境 搭建监控中心环境 Dubbo入门案例(Dubbo Spring) 实现步骤 搭建中介者组件共享资源 打包为jar…...

Rust初接触
一、什么是Rust Rust 是由 Mozilla 开发的多范式编程语言,专注于性能和安全性。 Rust 以其先进的安全并发能力而闻名, 它的语法类似于 C,但它提供了更快的速度和内存安全性,但不使用垃圾收集器。 Rust 最初是为 Mozilla Firefox …...

shell脚本学习笔记03(小滴课堂)
在shell脚本中,表示变量除了可以使用$a(a是一个变量),还可以使用${a} 那这两种表示方式有什么区别么? 花括号可以和其它字符或者字母区分开来。 >追加内容 我们发现使用>会把原来的内容覆盖。 我们使用>>就不会覆盖了ÿ…...

软件工程和计算机科学与技术学习方向区别
软件工程(Software Engineering)和计算机科学与技术(Computer Science and Technology)是两个相关但不同的领域,它们涉及到计算机和软件的不同方面。以下是它们之间的主要区别: 计算机科学与技术ÿ…...

React常用hooks总结
React Hooks react常用hooks React Hooks React Hooks是React16.8版本新增的特性,它允许你在不编写class的情况下使用state以及生命周期等特性。 在React中,组件的创建方式有两种:类组件和纯函数组件。 然而,函数组件没有状态…...

【算法学习】-【滑动窗口】-【找到字符串中所有字母异位词】
LeetCode原题链接:438. 找到字符串中所有字母异位词 下面是题目描述: 给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。 异位词 指由相同字母重排列形成的字符串&…...

利用python学习如何处理需要登录的网站
要处理需要登录的网站,你可以按照以下步骤进行学习: 了解网站的登录机制:登录机制通常有用户名密码登录、OAuth授权登录、Cookie登录等。了解目标网站使用的登录机制是学习处理的第一步。 使用Web抓取工具模拟登录:通过使用工具如…...

vue适配各个屏幕
1:不是响应式,只是用缩放来适配各个pc 2:使用中会出现由于 transform 属性导致的定位问题,具体的需要针对性的处理 App.vue <div id"app" ><div class"app-view" :style"{--scale:scale}"><…...

在conda创建的虚拟环境中安装jupyter以及使用
1. 进入你的虚拟环境 conda activate conda_env_name 2. 安装jupyter notebook conda install -y jupyter 3. 启动jupyter jupyter notebook 4. 将conda环境添加到jupyter的内核中 conda install ipykernel python -m ipykernel install --name conda_env_namepython -m…...

【Java 8的新特性】
引言 Java 8是Java编程语言的一个重要里程碑,它引入了许多令人兴奋的新特性和改进。这些新特性不仅使Java编程更加简洁和高效,还提供了更多的功能和灵活性。在本文中,我们将探讨Java 8的一些重要新特性,并展示它们是如何改变我们…...

Android+Appium自动化测试环境搭建及实操
1、Appium简介1.1 Appium概念1.2 Appium工作原理 2、Appium Server环境搭建2.1 Java JDK2.1.1 下载JDK2.1.2 运行exe安装JDK,设置安装路径2.1.3 设置环境变量2.1.4 验证安装结果 2.2 Android SDK2.2.1 下载安装Android SDK安装包2.2.2 下载platform-tools࿰…...

NetSuite ERP系统健康检查
这个题目来自最近的一个项目感受,“上线即停滞”。这是在中小型企业十分普遍的一个情况,一旦上线后,基本上信息化的建设就停止了。这是一个中小企业信息化的一个特点,因为其IT力量比较弱,所以在信息化的推动中缺乏话语…...

常用的数字格式代码
文章目录 数值占位符文本占位符 两类占位符: 数值占位符, 文本占位符. 数值占位符 有三种:0,#,? 0 是强制的占位符。 文本占位符 文本占位符只有一个: : 作用于文本的占位符,可以用英文引号" &quo…...

GitLab使用步骤
GitLab使用步骤 1 注册用户 1 访问:http://10.0.0.203/users/sign_up地址 2 填入注册信息,注册成功,需要管理员审核 3 用root登录,地址:http://10.0.0.203/users/sign_in账号:root密码:xxxx…...

基于MindSpore的llama微调在OpenI平台上运行
基于MindSpore的llama微调在OpenI平台上运行 克隆预训练模型 克隆chatglm-6b代码仓,下载分布式的模型文件 git lfs install git clone https://huggingface.co/openlm-research/open_llama_7b准备环境 安装Transformer pip install transformers执行转换脚本 …...

P34~36第八章相量法
8.1复数 复数可表示平面矢量、也可表示正弦量。特别是: 当复数表示正弦量的时候,此时复数称为相量。 8.2复数运算 复数除法也可看做乘法,乘法的几何意义是旋转(辐角相加)( e^x e^y e^xy),同时伸缩(模变…...