大家好,今天看自己以前写的文章时,发现GO语言这一版开了一段时间但总体来说文章质量不高且更新频率很低,今天刚好时间也够就将之前写的三章删了两章(留了环境配置),然后重新写这个板块!
后期我们所有GO语言的文章都是一篇文章一个小项目(这里前期引用的是“GO语言编程从入门到实践”这本书的小结项目,在介绍完项目目标后,我会将这个项目将要用到的知识点以及实列写出来,最后我们再一起做小结项目!
项目介绍:
今天这个项目是做一款命令行的个人健康测评(BMI指标),这里会用到一个计算公式:BMI=体重(KG)/身高的二次方(M)
一、变量与常量基础介绍
1.变量
(1)在GO语言中,定义变量使用的关键字为:var,它一共有5钟定义方式,如下所示:
(1)只定义变量,但不初始化:
var a type
(2)定义变量并进行初始化:
var a type = value
(3)批量定义多个变量,每个变量根据需求进行初始化:
var (
a type
b type = value
)
(4)多个变量同一数据类型:
var a, b type
(5)使用 := 定义变量并赋值,这里是通过值来反向判断变量的数据类型:
a := value
注:这里的type就是这个变量的数据类型,go中定义变量与Ptyon稍有一点差别
这里我们知道了go语言中变量是如何定义的,接下来为了加深理解我们来看一个简单的实列:
package main
import "fmt"
func main(){
//定义变量,不初始化
var a int
a = 1
//定义变量并赋值
var b int = 2
//定义多个变量
var(
c int
d int = 3
)
//定义多个相同数据类型的变量
var e, f int
//批量赋值
e, f = 10, 20
//定义变量,通过值来反向判断数据类型
g := 4
//执行
fmt.Printf("定义变量,不初始化: %d \n", a)
fmt.Printf("定义变量并赋值: %d \n", b)
fmt.Printf("定义多个变量: %d,%d \n", c, d)
fmt.Printf("定义多个相同数据类型的变量: %d,%d\n", e, f)
fmt.Printf("定义变量,通过值来反向判断数据类型: %d \n", g)
}
2.常量
(1)因为大家都有编程基础了,这里就不讲解常量、变量之间的关系了哈,如果真有人不知道,那先学C去吧
(2)在GO中,定义常量的关键字为:const,它有4种定义方法
(1)正规军定义常量
const a type = value
(2)定义常量时可以省略数据类型
const a = value
(3)集团军定义常量
const(
a type = value
b = value
)
(4)集团军定义常量2(用逗号分隔)
const a, b = value1, value2
接下来也是实列,我终于知道为啥程序员不太喜欢写技术文档了,我写个基础写那么点都写的手软了
package main
import "fmt"
func main(){
//定义单个常量并赋值
const a int = 10
//定义单个常量方法2
const b = 20
//批量定义
const(
c int = 30
d = 40
)
//批量定义2
const e, f = 50, 60
//执行
fmt.Println(a)
fmt.Println(b)
fmt.Println(c, d)
fmt.Println(e, f)
}
变量和常量的基础讲完了,接下来就可以将今天的小项目做了;
二、实现个人健康测评
1.这里相信很多爱美的小伙伴都知道BMI这个范围,今天我们要做的这个就是先输入自己的基本信息然后通过一些运算和判断条件来进行判断你的BMI是在那个区间以内,好督促自己减肥...
2.因为之前一直写的是安全方面的文章,第一次写编程方面的,所以不知道怎样写,这里就直接把我写的代码和运行结果放上来大家自行观看吧(都有注释的);
package main
import (
"fmt"
"strconv"
)
func main(){
//先定义基本信息的变量
var name string
var weight, height float32
//输入基本信息
fmt.Println("请输入您的姓名")
fmt.Scanln(&name)
fmt.Println("请输入您的体重")
fmt.Scanln(&weight)
fmt.Println("请输入您的身高")
fmt.Scaln(&height)
//输出用户输入的信息
fmt.Printf("%v的体重为:%v,身高为:%v \n", name, weight, height)
//进行单位转换
height /= 100
//计算BMI值
result := weight / (height * height)
//将BMI保留两位小数
BMI,_ := strconv.ParseFloat(fmt.Sprintf("%.2f",result),64)
//进行判断
if BMI < 18.5{
fmt.Printf("您的BMI为:%v,体重过轻 \n", BMI)
}else if BMI = 18.5{
fmt.Printf("您的BMI为:%v,体重正常 \n", BMI)
}else if BMI > 18.5{
fmt.Printf("您的BMI为:%v,体重过重 \n", BMI)
}
}
3.今天的练习就结束了,第一次写编程文章,确实不熟悉咋搞,而且编辑器还用成富文档的去了