为了账号安全,请及时绑定邮箱和手机立即绑定
首页 手记 【金秋打卡】第16天 Go开发工程师全新版 4-1

【金秋打卡】第16天 Go开发工程师全新版 4-1

2022.11.09 21:22 94浏览

课程名称: Go开发工程师全新版

课程章节: 4-1 数值、浮点数和字符类型

课程讲师: bobby

课程内容:

  • 布尔类型:bool 只能存放 true 和 false,表示 真(true)、假(false) 的意思

  • 数值类型

    • 整数:int、int8、int16、int32、int64、uint、uint8、uint16、uint32、uint64

    • 浮点数:float32、flota64

    • 复数: complex64(32 位实数和虚数)、complex128(64 位实数和虚数)

      使用 complex(x,y) 为复数赋值,x、y 分别表示构成该复数的两个 float64 类型的数值,x 为实部,y 为虚部。

      var name complex128 = complex(1, 2)

      real(z):go 内置函数,获取复数的实部,也就是 x

      imag(z) :go 内置函数,获取复数的虚部,也就是 y。

    • byte 字节类型:本质是 int8,存放字节

    • rune 字节类型:本质是 int32,存放字节

  • 字符串类型:string

布尔类型(bool)

布尔型的值只可以是常量 true 或者 false。一个简单的例子:var b bool = true

package main

import "fmt"

func main() {
    var ok bool
    ok = true
    ok = false
    ok = '123'		// 错误,只能是 true 和 false
}

数值型

  1. 整数型

    可以简单讲解一下二进制和位数的关系,以及 int 和 uint 的关系

    • int:动态类型,根据操作系统来定义,如果操作系统是32,他就是 int32
    • int8:有符号 8 位整型 (-128 到 127) 长度:8bit

    • int16: 有符号 16 位整型 (-32768 到 32767)

    • int32: 有符号 32 位整型 (-2147483648 到 2147483647)

    • int64: 有符号 64 位整型 (-9223372036854775808 到 9223372036854775807)

    • uint:动态类型,根据操作系统来定义,如果操作系统是32,他就是 uint32

    • uint8: 无符号 8 位整型 (0 到 255) 8位都用于表示数值:

    • uint16: 无符号 16 位整型 (0 到 65535)

    • uint32: 无符号 32 位整型 (0 到 4294967295)

    • uint64: 无符号 64 位整型 (0 到 18446744073709551615)

  2. 浮点型

    • float32: 32位浮点型数,大约是 3.4e38

    • float64: 64位浮点型数,大约是 1.8e308

其他

  • byte 等于 uint8,主要用于存放英文字符,字符本质是一个数字

    package main
    
    import "fmt"
    
    func main() {
        // 主要用于存放英文字符,不能存放中文,
        // 因为中文的字节超过 int8 的长度也就(-128 到 127) 
    	var c byte
    	c = 'a'
    	fmt.Printf(c)
    	fmt.Printf("c=%c", c)
    }
    
    
  • rune 等于 int32,主要用于存放字符,存放中文字符使用它,字符本质是一个数字

    package main
    
    import "fmt"
    
    func main() {
        // 主要用于存放中英文字符
    	var c rune
    	c = '慕'
    	fmt.Printf(c)
    	fmt.Printf("c=%c", c)
    }
    

字符类型

Golang中没有专门的字符类型,如果要存储单个字符(字母),一般使用 byte 来保存。
字符串就是一串固定长度的字符连接起来的字符序列。Go的字符串是由单个字节连接起来的。也就是说对于传统的字符串是由字符组成的,而Go的字符串不同,它是由字节组成的。

package main

import (
	"fmt"
)

func main() {

	var a byte
	a = 'a'
	//输出ascii对应码值 。。 这里说明一下什么是ascii码
	fmt.Println(a)
	fmt.Printf("a=%c", a)
}

字符常量 只能使用 单引号 括起来,例如:var a byte = 'a' var a int = 'a'

package main

import (
	"fmt"
)

func main() {

	var a byte
	a = "a"
	//输出ascii对应码值 。。 这里说明一下什么是ascii码
	fmt.Println(a)
	fmt.Printf("a=%c", a)
}
代码块

字符本质是一个数字, 可以进行加减乘除

package main

import (
	"fmt"
	"reflect"
)

func main() {

	a := 'a'

	//这里注意一下 1. a+1可以和数字计算 2.a+1的类型是32 3. int类型可以直接变成字符

	fmt.Println(reflect.TypeOf(a+1))
	fmt.Printf("a+1=%c", a+1)
}
代码块

字符串(string)

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

package main

import "fmt"

func main() {
    var name string
    name = "i am bobby"
    fmt.Println(name)
}

课程收获:
了解基础数据类型
图片描述

点击查看更多内容
0人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
Web前端工程师
手记
粉丝
1
获赞与收藏
0

关注TA,一起探索更多经验知识

同主题相似文章浏览排行榜

风间影月说签约讲师

51篇手记,涉及Java、MySQL、Redis、Spring等方向

进入讨论

Tony Bai 说签约讲师

151篇手记,涉及Go、C、Java、Python等方向

进入讨论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消