【Golang】认识Go语言中基本的数据类型

这篇具有很好参考价值的文章主要介绍了【Golang】认识Go语言中基本的数据类型。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

整形

基本整型 

特殊整型

浮点型

布尔型

字符型

字符串转义符 

多行字符串

字符串的常用操作

复数


我们不论在学习什么语言中,我们都要去认识一下这个语言中的数据类型,当然学习Go也不例外,我们也要去认识一下其相关的数据类型,当然这些数据类型基本上是大同小异的,如果学之前一些语言的学习经验的话,在理解学习起来将会更加的迅速。

在Go语言中有丰富的数据类型,除了基本的整型、浮点型、布尔型、字符串外,还有数组、切片、结构体、函数、map、通道(channel)等。


整形

新手须知: 整型数据指的是不包含小数部分的数值型数据。整型数据只用来表示整数,以二进制形式存储。

基本整型 

Go语言中的整型分为有符号和无符号两类:

  • 按长度分有符号整型:int8、int16、int32、int64
  • 按长度分无符号整型:uint8、uint16、uint32、uint64。

uint8就是我们熟知的byte型,int16对应C语言中的short型,int64对应C语言中的long型。 

【Golang】认识Go语言中基本的数据类型

特殊整型

特殊整型在这里指的是两种一般对应特定CPU平台机器字大小的有符号和无符号整数int和uint;其中int是应用最广泛的数值类型。这两种类型都有同样的大小,32或64bit,但是我们不能对此做任何的假设;因为不同的编译器即使在相同的硬件平台上可能产生不同的大小;以及说是还有一种无符号的整数类型uintptr,没有指定具体的bit大小但是足以容纳指针。uintptr类型只有在底层编程时才需要,特别是Go语言和C语言函数库或操作系统接口相交互的地方

【Golang】认识Go语言中基本的数据类型

注意事项获取对象的长度的内建len()函数返回的长度可以根据不同平台的字节长度进行变化。实际使用中,切片或 map 的元素数量等都可以用int来表示。在涉及到二进制传输、读写文件的结构描述时,为了保持文件的结构不会受到不同编译目标平台字节长度的影响,不要使用int和 uint

package main

import (
	"fmt"
)

func main() {
	var a int
	var b int32
	var c uint = 10

	a = 2147483647
	b = -2147483648

	fmt.Print(a, b, c)
}

【Golang】认识Go语言中基本的数据类型

浮点型

Go语言支持两种精度的浮点数,float32和float64。它们的算术规范由IEEE754浮点数国际标准定义,该浮点数规范被所有现代的CPU支持。

这两种浮点型数据格式遵循IEEE 754标准: float32 的浮点数的最大范围约为 3.4e38,可以使用常量定义:math.MaxFloat32。 float64 的浮点数的最大范围约为 1.8e308,可以使用一个常量定义:math.MaxFloat64。 (需要注意的是:因为float32的有效bit位只有23个,其它的bit位用于指数和符号;当整数大于23bit能表达的范围时,float32的表示将出现误差)

打印浮点数的方式:这里我们使用fmt包配合动词%f

package main

import (
	"fmt"
	"math"
)

func main() {
	var a float64

	a = 5.923871

	fmt.Print(a)
	fmt.Printf("\n%f\n", math.Pi)
	fmt.Printf("%.5f\n", math.Pi)
}

【Golang】认识Go语言中基本的数据类型

布尔型

新手须知:一个布尔类型的值只有两种:true和false。if和for语句的条件部分都是布尔类型的值,并且==和<等比较操作也会产生布尔型的值。一元操作符!对应逻辑非操作,因此!true的值为false,更罗嗦的说法是(!true==false)==true,虽然表达方式不一样,不过我们一般会采用简洁的布尔表达式,就像用x来表示x==true

Go语言中以bool类型进行声明布尔型数据,布尔型数据只有true(真)false(假)两个值。 

布尔值可以和&&(AND)和||(OR)操作符结合,并且有短路行为:如果运算符左边值已经可以确定整个布尔表达式的值,那么运算符右边的值将不再被求值,因此下面的表达式总是安全的:

s != "" && s[0] == 'x'

注:&&的优先级比||高)

布尔值并不会隐式转换为数字值0或1,反之亦然。必须使用一个显式的if语句辅助转换:

i := 0
if b {
    i = 1
}

注意:

  1. 布尔类型变量的默认值为false
  2. Go 语言中不允许将整型强制转换为布尔型.
  3. 布尔型无法参与数值运算,也无法与其他类型进行转换。

字符型

新手须知:字符串是一个不可改变的字节序列。字符串可以包含任意的数据,包括byte值0,但是通常是用来包含人类可读的文本。文本字符串通常被解释为采用UTF8编码的Unicode码点(rune)序列

Go语言中的字符串以原生数据类型出现,使用字符串就像使用其他原生数据类型(int、bool、float32、float64 等)一样。 Go 语言里的字符串的内部实现使用UTF-8编码。 字符串的值为双引号(")中的内容,可以在Go语言的源码中直接添加非ASCII码字符。

字符串值也可以用字符串面值方式编写,只要将一系列字节序列包含在双引号内即可:

s1 := "Hello"
s2 := "World"

字符串转义符 

Go 语言的字符串常见转义符包含回车、换行、单双引号、制表符等,如下表所示。

【Golang】认识Go语言中基本的数据类型

多行字符串

Go语言中要定义一个多行字符串时,就必须使用反引号字符:

s := `第一行
第二行
第三行
...
第n行
`


fmt.Println(s)

反引号间换行将被作为字符串中的换行,但是所有的转义字符均无效,文本将会原样输出。

字符串的常用操作

【Golang】认识Go语言中基本的数据类型

复数

 Go语言提供了两种精度的复数类型:complex64和complex128,分别对应float32和float64两种浮点数精度。

内置的complex函数用于构建复数,内建的real和imag函数分别返回复数的实部和虚部:

var c1 complex64
c1 = 1 + 2i

var c2 complex128
c2 = 2 + 3i

var x complex128 = complex(1, 2) // 1+2i

var y complex128 = complex(3, 4) // 3+4i

fmt.Println(x*y)                 
fmt.Println(real(x*y))           
fmt.Println(imag(x*y))           
fmt.Println(c1)
fmt.Println(c2)

【Golang】认识Go语言中基本的数据类型

文章来源地址https://www.toymoban.com/news/detail-404608.html

  • 复数有实部和虚部,complex64的实部和虚部为32位,complex128的实部和虚部为64位。
  • 复数也可以用==和!=进行相等比较。只有两个复数的实部和虚部都相等的时候它们才是相等的,所以需要小心的处理其精度的问题

到了这里,关于【Golang】认识Go语言中基本的数据类型的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 100天精通Golang(基础入门篇)——第5天: Go语言中的数据类型学习

    100天精通Golang(基础入门篇)——第5天: Go语言中的数据类型学习

    🌷 博主 libin9iOak带您 Go to Golang Language.✨ 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发秘籍》学会IDEA常用操作,工作效率翻倍~💐 🪁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬请批

    2024年02月08日
    浏览(13)
  • 二、GoLang输出HelloWorld、基本数据类型、变量常量定义、基本类型转换

    go语言中,想要输出内容到控制台,package必须是main,包括方法名也必须是main, go语言输出的语法是 fmt 库。 Go语言的基本类型有: boolean:布尔类型 true / false string :字符串类型 数值型: int8:有符号8位整型(-128到127)长度 int16:有符号16位整型(-32768到32767)长度 int32:有

    2024年02月09日
    浏览(11)
  • Go基本数据类型

    Go基本数据类型

    bool类型 布尔型的值只可以是常量 true 或者 false。⼀个简单的例⼦:var b bool = true 数值型 1. 整数型 可以简单讲解⼀下⼆进制和位数的关系,以及int和uint的关系 int8 有符号 8 位整型 (-128 到 127) ⻓度:8bit int16 有符号 16 位整型 (-32768 到 32767) int32 有符号 32 位整型 (-2147483648 到

    2024年02月22日
    浏览(12)
  • 如何理解Go言中的Context?

    如何理解Go言中的Context?

    目前看过除了《go语言程序设计》以外最好的教程:https://www.practical-go-lessons.com 原文:https://www.practical-go-lessons.com/chap-37-context 你将在本章中学到什么? 1.什么是上下文? 2.什么是链表? 3.如何使用上下文包? 涵盖的技术概念 Context derivation Linked list Context key-value pair Cancella

    2024年02月08日
    浏览(8)
  • Go语言(Golang)数据库编程

    要想连接到 SQL 数据库,首先需要加载目标数据库的驱动,驱动里面包含着于该数据库交互的逻辑。 sql.Open() 数据库驱动的名称 数据源名称 得到一个指向 sql.DB 这个 struct 的指针 sql.DB 是用来操作数据库的,它代表了0个或者多个底层连接的池,这些连接由sql 包来维护,sql 包会

    2024年02月03日
    浏览(48)
  • 4 Go的基本数据类型

    概述         在上一节的内容中,我们介绍了Go的基础语法,包括:标识符、、行分隔符、var、:=运算符、空格、注释、package、import、输入输出、运算符、条件控制、循环等。在本节中,我们将介绍Go的基本数据类型。Go语言是一种静态类型的编程语言,这也

    2024年02月06日
    浏览(8)
  • 【Go】Go 语言教程--数据类型(四)

    Go 语言教程–介绍(一) Go 语言教程–语言结构(二) Go 语言教程–语言结构(三) 在 Go 编程语言中,数据类型用于声明函数和变量。 数据类型的出现是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才需要申请大内存,就可以充分利用内存。

    2024年02月12日
    浏览(14)
  • 【Go基础】编译、变量、常量、基本数据类型、字符串

    【Go基础】编译、变量、常量、基本数据类型、字符串

    面试题文档下链接点击这里免积分下载 go语言入门到精通点击这里免积分下载 使用 go build 1.在项目目录下执行 2.在其他路径下编译 go build ,需要再后面加上项目的路径(项目路径从GOPATH/src后开始写起,编译之后的可执行文件就保存再当前目录) 3.打包的时候自定义名字:

    2024年02月09日
    浏览(14)
  • [go语言]数据类型

    [go语言]数据类型

    目录 知识结构 整型、浮点型 1.整型 2.浮点型 复数、布尔类型 1.复数 2.布尔类型 字符与字符串 1.字符串的格式化 2.字符串的截取 3.格式化好的字符串赋值给量 4.字符串的转换 5.strings包 在Go语言中,整型数据是一种基本的数据类型,用于表示整数。Go语言提供了多种整型数据类

    2024年01月19日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包