上一主题 下一主题
ScriptCat,新一代的脚本管理器脚本站,与全世界分享你的用户脚本油猴脚本开发指南教程目录
返回列表 发新帖

golang类型系统

[复制链接]
  • TA的每日心情
    开心
    2023-2-28 23:59
  • 签到天数: 191 天

    [LV.7]常住居民III

    486

    主题

    4033

    回帖

    4597

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    4597

    喜迎中秋国庆纪念章荣誉开发者管理员油中2周年

    发表于 2023-3-17 20:44:51 | 显示全部楼层 | 阅读模式

    命名类型和未命名类型

    命名类型

    如定义好的接口,结构等,称之为自定义类型
    或int,string等基础类类型,称之为预声明类型

    未命名类型

    如数组,切片,字典,通道,指针,函数字面量以及结构或接口声明
    称之为类型字面量

    struct{
    age int
    }{18}

    底层类型

    所有的类型都具有底层类型
    预声明类型与类型字面量类型的底层类型是他们自身
    自定义类型会从上到下直到找到预声明类型或类型字面量
    自定义类型会自动继承底层类型的操作
    如类型基于silce,map等支持range的
    新类型仍然可以使用range

    类型相同判断与赋值

    类型相同

    1.两个命名类型相同条件是类型声明的语句完全相同
    2.命名类型与类型字面量永远不相同
    3.两个类型字面量的对比规则是类型字面量的结构相同,内部的类型也相同
    4.类型别名声明的两个类型相同

    类型赋值

    1.两个类型相同
    2.具有相同的底层类型,并其中之一必须为未命名类型
    3.其中之一为接口类型
    4.赋值为nil,并且赋值给pointer,function,silce,map,channel,interface类型
    5.赋值的是一个字面量并可以表示赋值的类型的值

    类型的强制转换

    需要满足以下任一条件
    假设为a T=x
    1.x可以直接赋值给T
    2.具有相同的底层类型
    3.x是一个整数型或者[]byte类型的值,T是一个string类型
    4.x是一个字符串,T是[]byte或[]rune
    5.x和T都是未命名的指针类型,并指针指向的类型的底层类型相同
    第五条个人认为是指针的底层类型永远不会相等,所以以指针指向的类型的底层类型为准

    来源

    Golang核心编程第三章类型系统

    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
  • TA的每日心情
    开心
    5 天前
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    5

    主题

    23

    回帖

    36

    积分

    助理工程师

    积分
    36

    国庆纪念章油中2周年

    发表于 2023-3-17 21:45:13 | 显示全部楼层
    你这个头像一点都不符合你气质,快给我换掉!!!
    油猴中文网精神合作伙伴ikun
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2023-2-28 23:59
  • 签到天数: 191 天

    [LV.7]常住居民III

    486

    主题

    4033

    回帖

    4597

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    4597

    喜迎中秋国庆纪念章荣誉开发者管理员油中2周年

    发表于 2023-3-17 22:54:43 | 显示全部楼层
    啊麟 发表于 2023-3-17 21:45
    你这个头像一点都不符合你气质,快给我换掉!!!

    不觉得很可爱吗!
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复

    使用道具 举报

  • TA的每日心情
    开心
    5 天前
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    5

    主题

    23

    回帖

    36

    积分

    助理工程师

    积分
    36

    国庆纪念章油中2周年

    发表于 2023-3-17 23:43:31 | 显示全部楼层
    李恒道 发表于 2023-3-17 22:54
    不觉得很可爱吗!

    给我换回宇航员!!
    油猴中文网精神合作伙伴ikun
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2023-2-28 23:59
  • 签到天数: 191 天

    [LV.7]常住居民III

    486

    主题

    4033

    回帖

    4597

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    4597

    喜迎中秋国庆纪念章荣誉开发者管理员油中2周年

    发表于 2023-3-17 23:49:51 | 显示全部楼层
    啊麟 发表于 2023-3-17 23:43
    给我换回宇航员!!

    我不!
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    9 小时前
  • 签到天数: 101 天

    [LV.6]常住居民II

    0

    主题

    131

    回帖

    117

    积分

    中级工程师

    积分
    117

    新人报道油中2周年

    发表于 7 天前 | 显示全部楼层
    啊麟 发表于 2023-3-17 21:45
    你这个头像一点都不符合你气质,快给我换掉!!!

    汝头像也不咋滴
    回复

    使用道具 举报

    发表回复

    本版积分规则

    快速回复 返回顶部 返回列表