zoukankan      html  css  js  c++  java
  • go:基本数据类型

    0. 基本数据类型比较

      1. 两个类型相同的值可以使用相等 == 或者不等 != 运算符来进行比较并获得一个布尔型的值;

      2. 如果值的类型是接口(interface),它们也必须都实现了相同的接口;

      3. 如果其中一个值是常量,那么另外一个值的类型必须和该常量类型相兼容的

    1. 布尔类型

      布尔型的值只可以是常量 true 或者 false;

      布尔型的常量和变量也可以通过和逻辑运算符(非 !、和 &&、或 ||)结合来产生另外一个布尔值

      短路特性:

        && 和 || 是具有快捷性质的运算符,当运算符左边表达式的值已经能够决定整个表达式的值的时候,运算符右边的表达式将不会被执行

    2. 数字类型

    2.1 整形和浮点型

      Go 语言支持整型和浮点型数字,并且原生支持复数,其中位的运算采用补码;

      基于架构的类型,例如:int、uint 和 uintptr,没有 float类型(只有 float32 和 float64),没有 double 类型;

      int 和 uint 在 32 位操作系统上,它们均使用 32 位(4 个字节),在 64 位操作系统上,它们均使用 64 位(8 个字节)。

      uintptr 的长度被设定为足够存放一个指针即可。

      与操作系统架构无关的类型都有固定的大小:如 int8,int16,int32,int64,uint8,uint16,uint32,uint64,float32,float64

      math包中的函数接收的数据类型均为 float64

      你可以使用 a := uint64(0) 来同时完成类型转换和赋值操作,这样 a 的类型就是 uint64

      前缀0表示8进制数,前缀0x表示16进制数,e表示10的联乘

    2.2 复数

      复数使用 re + iml 来表示,其中 re 代表实数部分,im 代表虚数部分,I 代表根号负 1。

        var re complex128 = 1 + 2i
      
    // 获取实数部分 real := real(re) // 获取虚数部分 Imaginary := imag(re) fmt.Println("real number:", real,"Imaginary number:", Imaginary) // 格式化输出 fmt.Printf("re:%v ",re) // 实数或虚数为浮点型是可通过complex生成实数 var re2 = complex(2, 3) fmt.Println(re2)

    2.3 位运算

      位运算只能用于整数类型的变量,且需当它们拥有等长位模式时;

      %b是用于表示位的格式化标识符;

      & :都是1,则为1,否则为0

       | :有一个为1则为1

      ^ :相同为0,不同为1

      &^ :位清除,将 n 转换为2进制后,n 值为1的位置 s 对应为 0,s 剩余位置的值 为 m 对应位置的值

        var n = 12    // 1100
        var m = 13    // 1101
        s := m &^ n
        fmt.Printf("%b
    ",s)    // 输出 1

      << :位左移,2 << 1,将2左移1位

      >> :位右移,2 >> 1,将2右移1位

    2.4 运算符

      由上至下代表优先级由高到低

      ^  !

      /  *  %  <<   >>  & &^

      +  -   |   ^

      ==   !=   <   <=   >=    >

      <-

      &&

      ||

    2.4.1 位运算符

      &、  |、   ^、  &^

    2.4.2 逻辑运算符

      ==、 !=、   <、   <=、   >  、 >=   、&&   、||  

    2.4.3 算数运算符

      用于整数和浮点型:+、-、*、/、%

      a = b + c,可简写为 a+=b,改写法也适用于 -=、*=、/=、%=

      整数除以0可能导致程序崩溃,浮点数除以0.0会返回一个无穷尽结果,用 +Inf 表示

    3. 字符类型

      字符只是整数的特殊用例。byte 类型是 uint8 的别名,对于只占用 1 个字节的传统 ASCII 编码的字符来说,完全没有问题。例如:var ch byte = 'A';字符使用单引号括起来

  • 相关阅读:
    1.6 linux基础(六)
    1.5 Linux基础(五)
    1.4 linux基础(四)
    在win10中安装VB的方法
    重新拾起这个博客
    实验11-2-2 学生成绩链表处理
    实验11-1-9 藏尾诗
    实验11-1-8 查找子串
    实验11-1-6 指定位置输出字符串
    实验9-8 通讯录排序
  • 原文地址:https://www.cnblogs.com/virgosnail/p/12912231.html
Copyright © 2011-2022 走看看