这里写目录标题
- 一.昨日回顾
- 二.今日内容
- 1.变量命名规范
- 2.变量
-
- 3.类型
-
- 4.常量
- 5.函数基础
- 6.函数高级
一.昨日回顾
1 redis高级:高可用,集群,过期策略,缓存穿透,击穿,雪崩
2 go语言介绍
3 环境搭建:go的sdk(开发工具包,开发阶段用),IDE:集成开发环境(goland,vscode,txt)
4 go命令
-go build go源码编译成可执行文件(在什么平台就编译成什么平台)
-go env go的环境变量
-GO111MODULE :go 1.11以后,包管理使用go module
-GOPATH:在不使用go module之前,所有,项目,源代码必须放在该路径下的src下
-GOROOT: go sdk的安装路径:C:\Program Files\Go
-go fmt 格式化代码
-go get 等同于pip3 install 获取第三方模块
-go没有一个集中的版本管理仓库(大家约定俗成把它放到github上)
-go run 编译并执行(开发阶段)
5 go语言交叉编译
6 go hello world
-一个go项目要运行,必须有个包main包,main包下的main函数,是整个项目的入口
-导入的包,必须使用,如果不使用,编译不通过
-func 声明函数 main函数
-fmt.Println("ssss") 等同于python中的print()内置函数
二.今日内容
1.变量命名规范
1 变量命名,推荐用驼峰 AgeOfXX== (变量,函数,大写字母开头表示导出,外部包可以使用)
2 go文件命名,推荐用下滑线
3 名字必须以一个字母(Unicode字母)或下划线开头,后面可以跟任意数量的字母、数字或下划线
4 不要用关键字和保留关键字作为变量名
5 大写字母和小写字母是不同的:Name和name是两个不同的变量
6 Go语言中关键字有25个
break default func interface select
case defer go map struct
chan else goto package switch
const fallthrough if range type
continue for import return var
7 有37个保留字,主要对应内建的常量、类型和函数
内建常量: true false iota nil
内建类型: int int8 int16 int32 int64
uint uint8 uint16 uint32 uint64 uintptr
float32 float64 complex128 complex64
bool byte rune string error
内建函数: make len cap new append copy close delete
complex real imag
panic recover
2.变量
-var a int =10
-var a =10
-a:=10
-var a,b int=10,11
-var a,b =10,11
-a,b:=10,11
var (
name="lqz"
age int
)
1 变量要先定义再使用
2 完整定义可以先定义再赋初值,后面两种方式,定义阶段必须赋初值
3 变量的类型一旦确定,后期不能修改(跟py最大的差距)
代码演示
package main
func main() {
}
3.类型
# 数字类型
1 int类型(长度不一样)
- int8(正负,2的7次方-1),int16(正负,2的15次方-1),int32(正负,2的31次方-1),int64
-int:在32位机器上是int32,在64位机器上是int64
2 uint类型(无符号)
-uint8(2的8次方,256),uint16,uint32,uint64
-uint:在32位机器上是uint32,在64位机器上是uint64
3 float类型(表示精度不一样)
-float32,float64
4 complex 复数类型(不知道):实部和虚部,并返回一个复数类型
-complex64, complex128
5 byte
-是 uint8 的别名
6 rune(go语言中的编码方式使用unicode编码)
-是 int32的别名
# 字符串类型
1 string
# 布尔类型
1 bool
# 注意:
强类型语言:不同类型之间不允许直接运算
显示类型转换:手动转换
代码演示
package main
import "fmt"
func main() {
var a = 10.01
var b =10
fmt.Println(int(a)+b)
}
4.常量
# 恒定不变的量,定义并赋值后,再也不能改了
const name string="lqz"
5.函数基础
package main
func main(){
}
6.函数高级
package main
import "fmt"
func main() {
var f func(c int)int
f=test(10,20)
res:=f(30)
fmt.Println(res)
}
func test(a,b int)func(c int)int{
f:= func(c int) int{
return a+b
}
return f
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)