美文网首页
数据类型

数据类型

作者: isuntong | 来源:发表于2020-03-07 22:09 被阅读0次

基本数据类型

package main

import "fmt"

func main() {
    /*
    Go语言的数据类型
    1. 基本数据类型
        布尔类型:bool
            取值:true、false
        数值类型:
            整数:int
                有符号和无符号
                int8    uint8
                int16   uint16
                int32   uint32
                int64   uint64
                默认长度取决于操作系统,32位则为int32,64位为int64

                byte:uint8
                rune:int32
            浮点:小数
                float32、float64
            复数:complex
        字符串:string

    2. 复合数据类型
        array、切片 slice、map、function、指针 pointer、
        结构体 struct、interfce、通道 channel
    */

    // 1. 布尔类型
    var b1 bool
    b1 = true
    fmt.Printf("%T,%t\n", b1, b1)
    b2 := false
    fmt.Printf("%T,%t\n", b2, b2)

    // 2. 整数
    var i1 int8
    i1 = 100
    fmt.Println(i1)
    var i2 uint8
    i2 = 200
    fmt.Println(i2)

    var i3 int
    i3 = 1000
    fmt.Println(i3)
    // 语法角度,int、int64 不认为是同一种类型
    // var i4 int64
    // i4 = i3  Cannot use 'i3' (type int) as type int64 in assignment
    // fmt.Println(i4)

    var i5 uint8
    i5 = 100
    var i6 byte
    i6 = i5
    fmt.Println(i5, i6)

    //默认推断成 int
    var i7 = 100
    fmt.Printf("%T,%d\n", i7, i7)

    //浮点
    var f1 float32
    f1 = 3.14
    var f2 float64
    f2 = 4.67
    fmt.Printf("%T,%f\n", f1, f1) //默认保留6位小数,.2f可以保留两位
    fmt.Printf("%T,%f\n", f2, f2) //直接打印的话,赋值几位就打几位

    //默认推断 float64
    var f3 = 2.55
    fmt.Printf("%T\n", f3)


}

string类型与字符编码

package main

import "fmt"

func main() {
    /*
    字符串:
    1. 概念:多个byte的集合,理解为一个字符序列
    2. 语法:使用双引号
        "abc"、"hello"、"A"

    也可以使用:
        ``

    3. 编码问题
        计算机本质只识别 0 和 1
        A:65,B:66
        a:97,b:98
        ASCII(美国标准信息交换码)

        中国的编码表:gbk、兼容ASCII

        Unicode编码表:号称统一了全世界
            UTF-8,UTF-16,UTF-32

    4. 转义字符  \
        有一些字符有特殊的作用,可以转义为普通的字符
        \'

        一些普通字符转义后有特殊的作用
        \n:换行
        \t:制表符

    */

    // 1. 定义字符串
    var s1 string
    s1 = "王二狗"
    fmt.Printf("%T,%s\n", s1, s1)

    s2 := "hello world"
    fmt.Printf("%T,%s\n", s2, s2)

    // 区别 'A'、"A"
    v1 := 'A'
    v2 := "A"
    fmt.Printf("%T,%d\n", v1, v1) //是 int32 型
    fmt.Printf("%T,%s\n", v2, v2)

    v3 := '中'
    fmt.Printf("%T,%d\n", v3, v3)

    //3. 转义字符
    fmt.Println("\"Hello World\"")
    fmt.Println("Hello\nWorld")
    fmt.Println("Hello\tWorld")

    fmt.Println(`Hello"World"`)
    fmt.Println("Hello`World`")
}

基本数据类型间的转换

package main

import "fmt"

func main() {
    var a int8
    a = 10

    var b int16
    b = int16(a)

    fmt.Println(a, b)

    // 只取整数部分
    f1 := 3.14
    var c int
    c = int(f1)
    fmt.Println(f1, c)

    f1 = float64(a)
    fmt.Println(f1, a)

    //b1 := true
    //a = int8(b1) 报错,布尔不能转成int8

    // go语言是静态语言,定义,赋值,运算必须类型一致
    // 常数有需要时自动转型,变量需要手动转型
    // Type(Value)
    sum := f1 + 100
    fmt.Printf("%T,%f\n", sum, sum)
}

相关文章

  • JAVA 之路第一讲

    数据类型: 基础数据类型 包装器数据类型 引用数据类型 null 数据类型 基础数据类型: 整型 byte(字节型...

  • php 数据类型和数据类型转化

    一、数据类型 基础数据类型 复合数据类型 特殊数据类型 二、获取数据类型 三、打印数据类型和值 四、数据类型判断 ...

  • OC和C中的数据类型

    数据类型对比 C语言数据类型C语言数据类型 OC数据类型

  • JAVA 核心笔记 || [2] 数据类型

    JAVA数据类型分为两大数据类型: 1.内置数据类型2.引用数据类型 内置数据类型 引用数据类型 上篇 : 开篇 ...

  • 数据类型

    数据类型作用:数据类型不同,空间大小不同。 数据类型分类:基本数据类型、引用数据类型基本数据类型:整数型、浮点型、...

  • Java知识之数据类型

    Java数据类型图表## Java数据类型分为:### 基础数据类型 引用数据类型 null类型 基础数据类型分別...

  • JAVA基础第四天

    JAVA数据类型---布尔类型; 数据类型转换自动数据类型转换 强制数据类型转换

  • Java数据类型(慢慢积累,对于事物的理解也会不一样)

    Java的数据类型: 1. 内置数据类型(基本数据类型); 2. 引用数据类型; Java基本数据类型:(...

  • 【IOS 开发】 数据类型详解

    1. 数据类型简介及输出 (1) 数据类型简介 数据类型简介: Object - C 数据类型 分为 基本数据类型...

  • iOS 数据类型简介及输出

    一、数据类型简介及输出 1.数据类型简介 数据类型简介 : Object - C 数据类型 分为 基本数据类型, ...

网友评论

      本文标题:数据类型

      本文链接:https://www.haomeiwen.com/subject/ciqkdhtx.html