首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏WebDeveloper

    Go基础系列:4. 变量及数据类型

    声明 变量的声明使用 var 关键字,格式:var 名称 类型。特别强调下,Go 语法每行末尾是没有分号的。 var a int 如果存在多个变量类型相同时,可以逗号分割排列。 32位的,那么它们都是32位(4字节);如果是64位的,那么它们都是64位(8字节)。 还记得上面所说的,类型推断吗?对于整型数据 Go 编译器默认推断为 int 类型。如果想声明且初始化为其它类型,如下: var a int32 = 1 3. 字符型 byte 和 rune 是字符型,但其实不是新增的类型,byte 是 uint8 的别名,占用1个字节,rune 是 int32 的别名,占用4个字节。 总结 本篇对 Go 语言中变量的声明、变量的初始化、基本数据类型有了一个整体的认识,但可能还会存在一些困惑问题,比如: 如何保留小数位和四舍五入 类型之间的转化问题 值类型和引用类型 等等 这些问题都会在后续的文章一点点解开

    36810发布于 2021-11-24
  • 来自专栏院长运维开发

    Go基础类型

    package main; import ( "fmt" "errors" ) func main() { //bool类型 var isRun = false; var d uint8 = 4; var e uint16 = 5; var f uint32 = 6; //rune是int32的别称,byte是uint8的别称 var var k complex64 = 5+5i; var l complex128 = 3+3i; //字符串 var str1 string = "hello"; //go tmp[0] = 'w'; str1 = string(tmp); //通过+进行字符串连接 str2 := "hello"; str3 := str2 + ",go "; //错误类型 err := errors.New("我是个错误"); if err !

    32010发布于 2020-07-09
  • 来自专栏Golang开发

    Go基础——数据类型

    在 Printf 方法中,使用 %T 格式说明符(Format Specifier),可以打印出变量的类型Go 的 unsafe 包提供了一个 Sizeof 函数,该函数接收变量并返回它的字节大小。 of a is 89 and b is 95 type of a is int, size of a is 4 type of b is int, size of b is 4 从上面的输出, 我们可以推断出 a 和 b 为 int 类型,且大小都是 32 位(4 字节)。 类型转换 Go 有着非常严格的强类型特征。Go 没有自动类型提升或类型转换。我们通过一个例子说明这意味着什么。 i 的类型是 int ,而 j 的类型是 float64 ,我们正试图把两个不同类型的数相加,Go 不允许这样的操作。

    55610发布于 2019-05-29
  • 来自专栏编程基础

    Go编程基础-基础4

    Thur) fmt.Println("Fri :", Fri) fmt.Println("Sat :", Sat) } Sun : 0 Mon : 1 Tues: 2 Wed : 3 Thur: 4

    28531发布于 2021-02-26
  • 来自专栏FutureTester

    GO语言基础基础类型转换

    1、int类型转换为int32func intToInt32() {var intNum int = 123int32Num := int32(intNum)fmt.Printf("int32Num type :%T,value: %v\n", int32Num, int32Num)}运行结果:image.png2、int32类型转uintfunc int32ToUint() {var int32Num int32 uint(int32Num)fmt.Printf("uintNum type:%T,value: %v\n", uintNum, uintNum)}运行结果:image.png从上面两个例子可以看出Go 语言类型转换基本格式:type_name(expression) 像数值类型之间的转换都可以这样之间转换。 fmtstr := fmt.Sprint(intNum)fmt.Printf("fmtstr type:%T,value:%+v\n", fmtstr, fmtstr)}运行结果为:image.png4

    2.3K30编辑于 2022-12-27
  • 来自专栏沈钦华的专栏

    go4类型转换

    go语言是静态类型语言,对变量的类型有严格的要求,因而在日常编写代码过程中,经常需要对变量的类型进行转换操作。这里介绍下go语言支持的4类型转行方法。 (myBigInt) (non-interface type int64 on the left) var a interface{} = 123 // 值为数值的interface{}类型go内部一般使用 : interface conversion: interface {} is int, not main.myBigInt } 四、unsafe.Pointer强制转换 介绍这个方式之前,需要了解下gogo语言中有3类指针: 普通指针、uintptr、unsafe.Pointer。 go语言为了避免指针被滥用、误用的风险,对指针做了限制(如类型校验、不可计算、不可跨类型转换等)。

    2K20编辑于 2024-02-19
  • 来自专栏WebDeveloper

    Go基础系列:14. 指针类型

    var empty *int fmt.Println(empty == nil) // 输出 true nil 类似其它语言中的 null ,在 Go 语言中只能和指针类型、接口类型进行比较,也只能给指针类型变量和接口类型变量赋值 如果通过方法想修改结构体中的字段时,可以将接收者设置为指针类型。 // type/struct.go // ... 指针传递 在 Go 语言中大部分的类型都是值传递,也就是说通过函数传值时,函数内的修改是不能影响外部的,如果想更改就使用指针类型。 // pointer/function.go // ... 对于 Go 语言中的个别类型本身就是引用类型,不需要使用指针就可以在函数内部修改值而影响外部。 1. map 和 通道 这两个是引用类型,在传递时无需使用指针,通道在后续文章举例讲解。 // pointer/map.go // ...

    1K31发布于 2021-09-22
  • 来自专栏ai_houzi

    go语言基础4-指针

    func swap(a, b int) { a, b = b, a } func main(){ a ,b := 3 ,4 swap(a,b) fmt.Println(a,b) //输出为3,4 } func swap(a, b *int) { *a, *b = *b, *a } func main(){ a ,b := 3 ,4 swap(&a,&b) gmt.Println(a,b)//输出为4,3 } go语言指针不能运算 go语言只有值传递一种方式

    42520发布于 2019-04-04
  • 来自专栏开发语言-Go

    Go语言学习4-数组类型

    在数组类型声明中所标识的长度可以由一个非负的整数字面量代表,也可以由一个表达式代表(这个表达式必须是一个 int 类型的非负值),例如:[2*3+4]byte这个类型字面量表示了一个元素类型为byte的数组类型 例如:[6]string{0: "Go", 1: "Python", 2: "Java", 3: "C", 4: "C++", 5: "PHP"}这个字面量也体现了在默认情况下的各个元素值与索引值的对应关系 这种添加索引值的字面量也可以打乱默认的对应关系,例如:[6]string{2: "Go", 1: "Python", 5: "Java", 4: "C", 3: "C++", 0: "PHP"}或者,只显式地指定一部分元素值的索引值 ,例如:[6]string{5: "Go", 0: "Python", "Java", "C", "C++", 4: "PHP"}如上"Java", "C","C++" 的隐含索引值为1, 2, 3索引值的指定方式很灵活 总结本篇介绍了 Go 语言的数组类型,下篇将介绍 Go 语言的切片类型,敬请期待!

    39021编辑于 2024-08-01
  • 来自专栏Devops专栏

    3.Go基础数据类型

    3.Go基础数据类型 前言 前面我们写的程序中,用到的变量的类型都是整型,但是在我们GO语言中,还有很多其它的类型,如下: 类型 名称 长度 零值 说明 bool 布尔类型 1 false 其值不为真即为假 go run 01_布尔类型.go a的默认值为: false a赋值为: true b = false c = false 指定格式的输出: package main import "fmt " func main() { var b bool b = true fmt.Printf("b=%t",b) } 执行如下: $ go run 01_布尔类型_指定格式的输出.go b=true : $ go run 02_浮点型.go f1 = 3.1412737 f2 = 3.1412736768768768 f3 = 3.1412736768768768 f3的数据类型为: float64 ,字符类型,整型等都指定了对应的格式化,那么go语言中还有哪些格式化呢?

    45520编辑于 2022-01-17
  • 来自专栏EffectiveCoding

    Go 语言基础--变量&数据类型

    语法: var identifier type var 代表声明一个变量,identifier为变量名(go中变量名由字母、数字、下划线构成,首个字符不能为数字),type为变量类型。 其中go变量的命名规则是建议驼峰式的。 常见的方式: /** 单变量 **/ var tmp int // 声明一个int 类型变量tmp,go的变量类型放在变量之后 var tmp int = 6 // 声明+初始化 var tmp = 6 golang大致分为boolean类型、数字类型、字符串类型、派生类型 布尔类型 boolean:只可以为true or false var boolTmp bool = true 数字类型 go语言支持整型和浮点型 接口类型(interface) 这一篇暂时就介绍这么多 指针类型 go指针是一种非常重要的变量,同C中的指针一样,指针保存的是指向变量的地址,语法也跟C的类似。

    54430发布于 2019-07-31
  • Go 语言基础语法-数据类型

    go语言基础语法学习 基本数据类型 变量定义声明 运算符 条件控制语句 方法函数...当然可以,通过对比 Go 和 JavaScript 的数据类型,我们可以更好地理解它们的差异和各自的使用场景。 以下是 Go 和 JavaScript 数据类型的对比,以及每种类型的使用场景。 基本数据类型对比Go 数据类型JavaScript 数据类型描述与使用场景boolBoolean用于逻辑判断,例如条件语句和循环。 Go: var a complex64 = 1 + 2i复合类型对比Go 数据类型JavaScript 数据类型描述与使用场景arrayArray有固定长度的同类型元素集合,用于存储多个相同类型的值。 Go: var arr [5]int = [5]int{1, 2, 3, 4, 5}JS: var arr = [1, 2, 3, 4, 5]sliceArray动态长度的数组,用于需要频繁修改大小的集合

    29810编辑于 2024-08-05
  • 来自专栏网管叨bi叨

    Go语言程序设计(一)基础类型和复合类型

    点击阅读原文可访问《Go语言程序设计》电子书 前言 最近在读《Go 语言程序设计》这本书想通过看书巩固一下自己的基础知识,把已经积累的点通过看书学习再编织成一个网,这样看别人写的优秀代码时才能更好理解 声明 Go语言主要有四种类型的声明语句:var、const、type和func,分别对应变量、常量、类型和函数。 例如: var s string fmt.Println(s) // "" 基础类型 基础类型,包括:数字、字符串和布尔型。 数组 数组的长度是数组类型的一个组成部分,因此[3]int和[4]int是两种不同的数组类型。数组的长度必须是常量表达式,因为数组的长度需要在编译阶段确定。 q := [3]int{1, 2, 3} q = [4]int{1, 2, 3, 4} // compile error: cannot assign [4]int to [3]int Slice

    52730编辑于 2022-02-10
  • 来自专栏Go语言指北

    Go通关02:必须掌握的基础类型

    = 1 ) // 同理类型推导 var ( i = 0 k = 1 ) 类型int/float64/bool/string 等基础类型都可以被自动推导。 //类型推导 var s3 = s1 + s2 //可以通过操作符 + 把字符串串连起来 s1 += s2 //也可以通过 += 运算符操作 零值 零值其实就是一个变量的默认值,Go语言中,如果只声明了一个变量 指针 Go 语言中,指针对应的是变量在内存中存储的位置,也就是说指针的值就是遍历的内存地址。通过 & 可以获取变量的地址,也就是指针。*可以获取地址对应的值。 常量定义 和变量类型,只不过使用关键字 const const name = "无尘" 在 Go语言中,只允许布尔型、字符串、数字类型这些基础类型作为常量。 字符串 字符串和数字互换 Go是强类型语言,不同类型的变量是不能相互使用和计算的。不同类型的变量在进行复制或计算时,需要先进行类型转换。

    36240发布于 2021-08-18
  • 来自专栏从流域到海域

    Go语言基础语法与数据类型

    Go语言结构 一个Go文件由以下几个部分编写而成: 包声明 package 包名 引入包 import "包名" 函数 func 函数名(参数列表) 变量 var 变量名 变量类型 语句&表达式 注释 关键字 Go语言有25个关键字: 1 2 3 4 5 break default func interface select case defer go map struct chan else goto 语言数据类型 Go语言所支持的数据类型按类别可以分为四大类: 布尔型 true 或 false 数值型 整型、浮点型、复数 字符串 字符串是由单个字节连接起来的字符序列,Go采用UTF-8格式编码 其他类型 为了方便定义变量,Go也定义了以下数据类型: 序号 类型和描述 1 byte 类似 uint8 2 rune 类似 int32 3 uint 32 或 64 位 4 int 与 uint 一样大小 5 uintptr 无符号整型,用于存放一个指针 rune和unitptr是Go独创,其他类型别的编程语言也有,基本上可以说是博采众长。

    78620发布于 2020-12-21
  • 来自专栏null的专栏

    Go语言基础】基本数据类型

    Go语言中内置了大量的数据类型,包括基本数据类型和符合数据类型,其中基本数据类型有如下七种: 布尔型:bool 整形:byte,int,int8,int16,int32,int64,uint,uint8 Go语言整形具体如下表所示: image.png 除此之外,还有int,uint和uintptr这三个与平台相关的整形类型,byte类型与uint8类型一致。 3. 4. 复数类型 复数类型Go语言中也有两种类型,分别为complex64和complex128,复数是由实部和虚部构成,复数在Go语言中的定义如下所示: var a complex64 = 1 + 2i var b = complex(3, 4) fmt.Println(real(a), imag(a)) fmt.Println(real(b), imag(b)) 其中,real()函数用于取复数的实部,imag

    51530编辑于 2022-01-05
  • 来自专栏贾维斯Echo的博客

    Go 基础之基本数据类型

    Go 基础之基本数据类型 一、整型 所谓整型,主要用来表示现实世界中整型数量,比如年龄,分数,排名等等 Go 语言整型可以分为平台无关整型和平台相关整型这两种,它们的区别主要就在,这些整数类型在不同 类型 32位长度 64位长度 默认的有符号整型 int 32位(4字节) 64位(8字节) 默认的无符号整型 unit 32位(4字节) 64位(8字节) 无符号整型 uintptr """大到足以存储任意一个指针的值 2.2 浮点类型 Go语言支持两种浮点型数:float32和float64。这两种浮点型数据格式遵循IEEE 754标准。 浮点类型与前面的整型相比,Go 提供的浮点类型都是平台无关的。 56fd 4eba] // string -> []byte bs := []byte(s) fmt.Printf("%x\n", bs) // e4b8ade59bbde4baba 八、类型转换 Go语言中只有强制类型转换,没有隐式类型转换。该语法只能在两个类型之间支持相互转换的时候使用。

    97540编辑于 2023-10-18
  • 来自专栏繁依Fanyi 的专栏

    Go 基础篇】Go语言数据类型转换:精确的值变换与类型协作

    本篇博客将深入探讨Go语言中的数据类型转换,从基本概念到类型转换的方法和最佳实践,帮助您理解如何在Go中进行安全、有效的数据类型转换。 在Go语言中,使用括号将目标类型括起来,将要转换的值放在括号前面。 type Celsius float64 var temperature Celsius = 25.5 类型转换 自定义类型与其基础类型之间需要显式转换。 注意精度和溢出 在进行数值类型转换时,始终考虑可能的精度损失和值溢出问题,避免出现不合理的结果。 3. 检查接口类型 在进行接口类型转换时,始终先检查底层类型,以确保类型转换的安全性。 4. 总之,数据类型转换是Go语言中不可或缺的一部分,对于构建强大、稳定的程序至关重要。通过深入理解和掌握不同类型转换的方法,您将能够更加自信地进行数据处理,编写出高质量、可靠的Go语言代码。

    52830编辑于 2023-10-12
  • 来自专栏Unity开发系列专栏

    OpenCV 4基础篇| 色彩空间类型转换

    色彩空间基础 RGB 图像是一种比较常见的色彩空间类型,除此之外,比较常见的还有以下类型:GRAY 色彩空间(即灰度图像)、XYZ 色彩空间、YCrCb 色彩空间、HSV 色彩空间、HLS 色彩空间、 色彩空间类型 2.1 GRAY 色彩空间 GRAY色彩空间通常指的是灰度图像,这是一种单色图像,其中每个像素的值表示从黑色到白色的不同灰度级别。 参数说明: dst:输出的结果,与原始输入图像的数据类型和深度相同 src:输入的图像。 upperb:表示上界的阈值,与lowerb的类型相同,用于指定上界阈值。对于灰度图像,upperb是一个标量值;对于彩色图像,可以通过传递一个数组来指定每个通道的上界阈值。 它应该具有与输入图像相同的尺寸和数据类型

    2.3K10编辑于 2024-02-21
  • 来自专栏开发技术那些事

    Go语言学习(三)| 基础数据类型

    Go 基础数据类型: 布尔型 数字类型 字符串类型 错误类型 布尔型 bool 布尔型的值只能为 true 或 false , 例: var v1 bool = true v1 := (2 > 1) Go语言支持以下的常规整数运算:+ - * / % 。 字符串在Go中是 UTF-8 的由双引号(")或反引号(``)包裹的字符序列(类型为string)。 字符类型 rune 在Go语言中支持两个字符类型,要给是byte(实际上是uint8的别名),代表UTF-8字符串的单个字节的值;另一个是rune,代表单个Unicode字符。 关于rune相关操作,可查阅Go标准库的unicode包。另外unicode/utf8包也提供了UTF-8和Unicode之间的转换。 字符串遍历 Go语言支持两种方式遍历字符串。

    53410发布于 2020-07-21
领券