go_1

  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

posted @   rudynan  阅读(39)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示