关于golang:GO语言入门-三数据类型

当初须要理解一下GO语言的数据类型。

布尔型

布尔型的值只能够是常量 true 或者 false。
一个简略的例子:

package main

import "fmt"

func main() {
    // 申明一个布尔型的变量i
    var i bool = true
    fmt.Println("打印一个布尔型的变量:i=", i)
}

运行后果为:

数字类型

整型 int 和浮点型 float32、float64
Go 语言反对整型和浮点型数字,并且反对复数,其中位的运算采纳补码。

package main

import "fmt"

func main() {
    // 申明一个数字类型的变量i
    var i int = 100
    fmt.Println("打印一个数字类型的变量:i=", i)
}

运行后果为:

1. 整数型
序号 类型 形容
1 uint8 无符号 8 位整型 (0 到 255)
2 uint16 无符号 16 位整型 (0 到 65535)
3 uint32 无符号 32 位整型 (0 到 4294967295)
4 uint64 无符号 64 位整型 (0 到 18446744073709551615)
5 int8 有符号 8 位整型 (-128 到 127)
6 int16 有符号 16 位整型 (-32768 到 32767)
7 int32 有符号 32 位整型 (-2147483648 到 2147483647)
8 int64 有符号 64 位整型 (-9223372036854775808 到 9223372036854775807)
2. 浮点型
序号 类型 形容
1 float32 IEEE-754 32位浮点型数
2 float64 IEEE-754 64位浮点型数
3 complex64 32 位实数和虚数
4 complex128 64 位实数和虚数
3. 其余数字类型
序号 类型 形容
1 byte 相似 uint8
2 rune 相似 int32
3 uint 32 或 64 位
4 int 与 uint 一样大小
5 uintptr 无符号整型,用于寄存一个指针

字符串类型

字符串就是一串固定长度的字符连接起来的字符序列。
Go 的字符串是由单个字节连接起来的。
Go 语言的字符串的字节应用 UTF-8 编码标识 Unicode 文本。

package main

import "fmt"

func main() {
    // 申明一个字符串类型a和一个字符串类型b
    var a = "Hello"
    var b = " World"
    fmt.Println("打印a + b的值为:", a + b)
}

运行后果为:

零值

零之其实就是一个变量的默认值
如果咱们申明了一个变量,然而没有对其进行初始化,那么Go语言会主动初始化其值为对应类型的零值

package main

import "fmt"

func main() {
    // 申明各种类型的数据
    var a int
    var b float64
    var c bool
    var d string
    fmt.Println("打印a的值为:", a)
    fmt.Println("打印b的值为:", b)
    fmt.Println("打印c的值为:", c)
    fmt.Println("打印d的值为:", d)
}

运行后果为:

派生类型

包含:

  • (1) 指针类型(Pointer)
  • (2) 数组类型
  • (3) 结构化类型(struct)
  • (4) Channel 类型
  • (5) 函数类型
  • (6) 切片类型
  • (7) 接口类型(interface)
  • (8) Map 类型

非凡阐明

1. 这里能够不申明变量的类型,让Go本人去推导;
var i = 100;
2. 也能够一次性申明多个变量
package main

import "fmt"

func main() {
    // 申明一个数字类型的变量a,一个布尔类型的变量b
    var (
        a = 200
        b = false
    )
    fmt.Println("打印a的值为:", a, ";打印b的值为:", b)
}

运行后果为:

3. 变量的简短申明

Go语言提供了变量的简短申明 :=
变量名:=表达式

package main

import "fmt"

func main() {
    // 简短申明各种类型的数据
    a := 10
    b := 10.01
    c := true
    d := "简短申明"
    fmt.Println("打印a的值为:", a)
    fmt.Println("打印b的值为:", b)
    fmt.Println("打印c的值为:", c)
    fmt.Println("打印d的值为:", d)
}

运行后果为:

4. 常量

常量用const润饰,被润饰的变量不能被批改

package main

import "fmt"

func main() {
    // 申明一个常量
    const a = 10
    fmt.Print("首次打印a的值为:", a)
    a = 100
    fmt.Println("再次打印a的值为:", a)
}

运行后果为:

运行报错,常量不能批改。

5. iota

iota是一个常量生成器,他能够用来初始化类似规定的常量,防止反复的初始化

package main

import "fmt"

func main() {
    // 申明几个常量
    const (
        a = iota + 1
        b
        c
        d
    )
    fmt.Print("打印四个值为:", a, b, c, d)
}

运行后果为:

集体博客地址

http://www.zhouzhaodong.xyz/

【腾讯云】轻量 2核2G4M,首年65元

阿里云限时活动-云数据库 RDS MySQL  1核2G配置 1.88/月 速抢

本文由乐趣区整理发布,转载请注明出处,谢谢。

您可能还喜欢...

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据