zoukankan      html  css  js  c++  java
  • go 学习之数据类型

    数据类型:基本数据类型和派生(复杂数据类型)

    基本数据类型:数值型,字符型,布尔型,字符串(string)

    复杂数据类型:指针,数组,结构体,管道,函数,切片,接口

    int8(1字节)(-128~127),

    int16(2字节)(-2/15~2/15-1),

    int32(4字节)(-2/31~2/31-1),

    int64(8字节)(-2/63~2/63-1)

    32位系统,int默认采用int32类型

    64位系统,int默认采用int64类型

    浮点型:单精度(float32),双精度(float64)

    浮点数都是有符号的,尾数部分可能丢失,造成精度损失,float64要比float32更加准确(通常情况下使用)

    浮点类型有固定的范围和字符长度,不受具体OS的影响,默认声明float64,

    两种表示法:

    十进制:5.12,.512

    科学计数法形式,如5.1234e2(5.1234*10的2次方),5.1234E-2(5.1234/10的2次方)

    rune 占用存储空间同int32,表示一个Unicode码

    byte 占用存储空间等同于uint8,当要存储字符时选用byte(可存数字)

    字符常量是用单引号括起来的单个字符,如:i := 'a'; i := '9'

    在go中,字符的本质是一个整数,直接输出时,是该字符对应的UTF-8编码的码值

    可以直接给某个变量附一个数字,热庵后按格式化输出时%c,会输出该数字对应的unicode字符

    字符类型是可以进行运算的,相当于一个整数,因为他都对应有Unicode码

    字符类型本质探讨:

    存储:字符 -> 对应码值 -> 二进制 -> 存储

    读取:二进制 -> 码值 -> 字符 ->读取

    字符串

    字符串一旦赋值了,字符串就不能修改了,在go中字符串是不可变的。

    两种表示形式:

    1.双引号,会识别转义字符

    2.反引号,以字符串的原生形式输出,包括换行和特殊字符,可以防止攻击,输出源代码等效果。

    当一行太长需要换行拼接时,“+”留在上一行

    类型转换:

    转换时将原值转换后的新值付给变量,原值未发生变化

    float64转换成float8,多余的部分会按溢出丢弃处理,不会报错

    基本数据类型转换成string,

    1、fmt.Sprintf("%参数", 表达式),参数和表达式的类型要匹配;

    2、使用strconv包

    判断类型:

            i := 4
            fmt.Printf("i的类型:%T 
    ", i)
    

    unsafe.sizeof()返回类型本身所占用的字节数,而非数据内容的字节数

    bit 计算机中的最小存储单位,byte计算机中基本存储单元。

  • 相关阅读:
    Java 单测 回滚
    Java四种线程池的使用
    git gc
    Git 常用命令
    JPA 批量新增
    SpringData JPA 排除 扫描 exclude-filter 不能使用解决
    开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别
    深入浅出 RPC
    阿里 Java面试 知识点
    Eclipse Egit 安装
  • 原文地址:https://www.cnblogs.com/Caoxt/p/14149789.html
Copyright © 2011-2022 走看看