go_1
- 变量定义
1 var num int 2 var num = 10 3 num := 10
4 var n1,n2,n3 int = 1,2,3
5 全局变量定义
var(
n1 = 1
n2 = 2
)
2. 数据类型 fmt.printf("%T",n)来查看数据类型
unsafe.sizeof(n1) 查看数据占用字节大小
1 整数 2 有符号
int, 32位系统就是int32 64位系统就是int64
int8, -128~127
int16, +- 65536
int32, +- 42亿
int64 +-
rune 相当于int32 表示一个unicode码 3 无符号
uint, 32位系统就是uint32 64位系统就是uint64
uint8, 0~255
uint16, 0~65536
uint32, 0~42亿
uint64,
byte 等价uint8存储字符使用byte 4 浮点 float32,float64 5.123e2 表示5.123*10的2次方 5.123e-2 5.123/10的2次方 5 字符型 6 布尔型 bool 7 字符串 string 可以使用反引号 分行拼接字符串使用+号 要留在上面
复杂数据类型 指针pointer 数组 struct 管道 channel 函数 切片 slice 像集合 接口 interface map
3. 基本数据类型转string
var num = 1 var num2 = 1.2 var b bool = true var char byte= 'y' var str string str = fmt.Sprintf("%d",num) str = fmt.Sprintf("%f",num2) str = fmt.Sprintf("%t",b) str = fmt.Sprintf("%c",char) str = strconv.Itoa(num) str =strconv.FormatInt(int64(num),10) // 第二个参数代表十进制 str= strconv.FormatFloat(num2,'f',10,64) // 第二个参数代表格式-00.00,第三个代表保留10位小数,第四个代表num2是64位第float str = strconv.FormatBool(b)
4. string 转基本数据类型 如果没有转成功会设置位默认值
var str string = "true" var b , _ = strconv.ParseBool(a)// 返回两个值 var d , _ = strconv.ParseInt(c,10,0) // 第二个参数代表10进制 0代表返回int 8 16 32 64 var f, _ = strconv.ParseFloat(e,64) // 2arg 代表返回64位float
5. 指针
值类型都有对应的指针类型
值类型有 int系列 float系列 bool string 数组 结构体
// 获取变量地址用& &num var ptr *int = &num var i int = 10 // 指针 var ptr *int = &i // 获取指针地址对应的值 println(*ptr) // 获取ptr的地址 println(&ptr) // 获取i的地址 println(&i)
6. 值类型/变量直接存储值 通常分配在栈中
int系列 float系列 bool string 数组 结构体
引用类型/变量存储的地址 通常
指针 slice切片 map channel interface
7. 公有
标识符大写
私有
标识符小写
相同的包相当于同一个文件一样 不能定义重复的变量 函数等
8. 运算符计算公式a - a / b * b
-10 % 3 = -10 - (-10) / 3 * 3 = -1
i++ i-- 只能独立使用不能 a = i++
9. 进制
go不能直接使用2进制
可以直接定义8进制0开头011等于9
可以使用16进制 0x
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!