没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
#GO变量和数据类型
#变量和数据类型
声明:
(1)GO版本:go version go1.21.5 windows/amd64
(2)开发工具:vscode
(3)微信公众号:给点知识
如果版本不一样再环境变量的配置上多少有点问题。1.11 GO版本之前使用GOPATH 之后可以使用go.mod 要不然导
入模块包那块会有问题。
1.变量
#数据类型-变量
#Go变量
1.0 变量介绍
变量相当于内存中一个数据存储空间的表示,一般需要有变量的名称和类型
比如:var name int =18
1.1 变量命名规范
1. 使用字母 数字 字母 下划线 中文(但不建议使用中文)
package main
import "fmt"
func main() {
var 名字 string = "张三"
var 年龄 int = 18
var 身高 float32 = 180.9
fmt.Println(名字, 年龄, 身高)
}
2. 不能以数字开头, 不能使用关键词作为变量,比如int float32 string等,
其实关键词你非要使用也可以使用,但是会有一定的问题。
比如:
定义了:var float32 int = 10
这个时候关键词float32 变成了一个整数,如果你再使用float32定义变量的时候就会报错,因为这个时候它
是整数
var score float32 = 19,这个就会报错了。如下图:
3. 区分大小写,可以以字母、下划线开头
package main
import "fmt"
func main() {
var _名字 string = "张三"
var z年龄 int = 18
var Z年龄 int = 20
var 身高 float32 = 180.9
fmt.Println(_名字, Z年龄, z年龄, 身高)
}
4. 下划线作用
(1)与字母、数字组合成变量
(2)单独使用的时候可以作为占位符,不能作为标识符
(3)作为忽略符号使用:导入包的时候,为了防止编译不过去某个没有使用的包,可以加入下划线作为忽略
package main
import "fmt"
import _ "strconv"
func main() {
var _名字 string = "张三"
var float32 int = 18
fmt.Println(float32, _名字)
}
5. 包名规则
1. 包名尽量保持package的名字和目录保持一致,
2. 程序的入口包必须是main包
3. 尽量采取有意义的包名,简短,有意义
4. 不要和标准库有冲突,比如不能定义一个:package fmt
6. 变量使用字母大小写实现,使用小驼峰实现。
1. 注意如果是让其他模块可以使用的那就需要首字母大写,也就是大驼峰,否则就是小驼峰即可
2. 大驼峰GetName() 小驼峰写法 getName
3. 首字母大写代表可以被访问其他模块可以访问,相当于公共变量,首字母小写表示私有变量,如下图
创建目录结构
D:.
└─demo01
├─main
|main.go
└─utils
|mymath.go
go.mod 不用自己创建,接着往下看
1. `go.mod` 文件是一个文本文件,位于项目的根目录下。它记录了项目所依赖的模块及其版本信息,并定义了模块的路径。
2. 创建好文件以及目录后填充内容
3. main.go
package main
import (
f"fmt"
"gdzs/demo01/utils"
)
func main(){
f.Println("---------")
f.Println(utils.PackageName)
}
4. mymath.go
package utils
var Num int = 1
var PackageName string = "这里是工具模块的PackageName变量"
var name string = "名字"
5. cd demo01
6. go mod init gdzs 就会生成go.mod 文件
7. 这个时候执行go demo01/main/main.go即可看到结果
注意,这里因为Code Runner 这个插件执行的目录是在vscode 添加的根目录下执行的,上图就是再01.test目录
下执行的。注意如果打开的是上一级目录就会报错,例如
所以解决办法就是需要保证demo01和go.mod再同一个目录,且上级目录就是vscode打开的根目录,如图所示
1.2 变量声明
#GO变量声明
1.2.1 单个变量声明
PS D:\07.go\01.test> cd
PS D:\07.go> go run .\demo01\main\main.go
CreateFile .\demo01\main\main.go: The system cannot find the path specified.
1. 声明的格式
1. 第一种:直接赋值: var age int = 12
2. 第二种:只复制类型赋值后赋值变量: var num int
3. 第三种:没有写类型,通过值进行自动判断 var name="张三";
4. 第四种:省略var 使用 代替
2. 实战
package main
import "fmt"
func main() {
第一种变量
var age int = 18
fmt.Println("age is ", age)
第二种变量定义方式 不赋值 使用默认值
var num int
fmt.Println("num is ", num)
第三种变量如果没有写变量的类型,那么根据=后面的值进行判断类型
var name = "张三"
1.2.2 多个变量声明
#Go多个变量声明
1.2.3 全局变量与局部变量
#GO全局与局部变量
println("name is:", name)
第四种,省略var 使用 【】代替
name2 "里斯"
println("name2 is:", name2)
}
1. 格式
1. 格式1:var age, name = 18, "张三"
2. 格式2:
var (
n1=18
n2="name"
n3 int = 100
)
2. 实践
package main
import "fmt"
func main() {
var n1, n2, n3 = 19, "java", 7
println(n1, n2, n3)
println("------")
定义多个变量,并且赋值多个
var (
m1 int = 10
m2 string = "|王五|"
m3 = 100
)
println(m1, m2, m3)
println("------")
}
1. 全局变量:
(1)就是定义在函数体外部的变量,可以在程序的任意地方使用
(2)作用域跨域整个程序
(3)全局变量可以在不同函数中共享和访问
(4)不能使用 声明变量
1. 创建文件main.go
package main
import "fmt"
剩余25页未读,继续阅读
资源评论
GokuCode
- 粉丝: 1091
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功