Go语言学习笔记 --- 常量、变量、批量定义与声明、数据类型、类型别名、类型转换

『Go语言 04 类型』 变量、常量、基本类型、引用类型、类型转换、自定义类型 Go 语言:类型 阅读详情

学习笔记根据 无闻 go语言基础教程 整理

批量定义常量

const (
    PI = 3.14
    c1 = 1
    c2 = 2
    c3 = 3
)

其中大写的外部可调用,小写的不可调用

批量定义变量

var (
    name = "n1"
    age = 10
)

批量声明一般类型

type(
    newType int
    type1 float32
    type2 string
    type3 byte
)

Go 基本类型

  • 布尔值: bool
    • 长度 1字节
    • 取值范围 true, false
    • 注意事项:不可用数字代表true或false

  • 整型: int/uint
    • 根据运行平台可能为32位或64位

  • 8位整型: int8/uint8
    • 长度: 1字节
    • 取值范围:-128 ~127 / 0 ~ 255

  • 字节型: byte (uint8别名)

  • 16位整型: int16/uint16
    • 长度:2字节
    • 取值范围:-32768 ~ 32767 或 0 ~ 65535

  • 32位整型: int32(rune)/uint32
    • 长度: 4字节
    • 取值范围: -2^32/2 ~ 2^32/2-1 或 0 ~ 2 ^ 32 - 1
    • 说明:rune 是有符号的32位整型的别名, 处理unicode字符相关

  • 64位整型: int64/uint64
    • 长度: 8字节
    • 取值范围: -2^64/2 ~ 2^64/2 - 1 或 0 ~ 2 ^ 64 - 1

  • 浮点型: float32 / float64
    • 长度: 4/8字节
    • 小数位: 精确到7/15小数位

  • 复数:complex64 / complex128
    • 长度: 8/16字节

  • 足够保存指针的32位或64位的整数型: uintptr

  • 其他值类型: array 、 struct 、 string

  • 引用类型: slice 、 map 、 chan

  • 接口类型: interface

  • 函数类型: func

类型零值

  • 零值并不等于空值,而是当变量被声明为某种类型后的默认值

  • 通常情况下,值类型默认值为0, bool为false, string为空字符串,关键代码如下:

    var a int
    var b int32
    var c float32
    var d bool
    var e string
    var f []int
    var g [1]int
    var h [1]bool
    var j [1]byte
    fmt.Println(a) // 0
    fmt.Println(b) // 0
    fmt.Println(c) // 0
    fmt.Println(d) // false
    fmt.Println(e) // '' 什么都没输出
    fmt.Println(f) // []
    fmt.Println(g) // [0]
    fmt.Println(h) // [false]
    fmt.Println(j) // [0]
    

内置的类的静态常量

 fmt.Println(math.MinInt8) // -128
 fmt.Println(math.MaxInt32) // 2147483647

类型的别名

type(
    我是自定义string string // 此处给string 自定义别名
)

func main() {
    var b 我是自定义string
    b = "中文测试"
    fmt.Println(b);
}

单个变量的声明与赋值

  • 变量的声明格式: var 变量名称 变量类型 如:var a int
  • 变量的赋值格式: 变量名称 = 表达式 如: a = 1
  • 声明的同时赋值: var 变量名称 变量类型 = 表达式 如:var a int = 1 或 var a = 1 (变量类型可以省略,由系统推断)
  • 变量声明与赋值的最简写法:d := 456

多个变量的声明与赋值

  • 全局变量的声明可使用var()的方式进行简写,如:

    var (
        a = "hello"
        b,c = 1,5
        d := 3
    )
  • 全局变量的声明不可以省略var, 但可用并行方式

    var a,b,c,d int = 1,2,3,4
    fmt.Println(a) // 1
    fmt.Println(b) // 2
    fmt.Println(c) // 3
    fmt.Println(d) // 4
  • 所有变量都可以使用类型推断
  • 局部变量不可以使用var()的方式简写,只能使用并行方式

    e,f,g,h := 1,2,3,4
    fmt.Println(e) // 1
    fmt.Println(f) // 2
    fmt.Println(g) // 3
    fmt.Println(h) // 4
  • := 的方式多用于函数有多个返回值时进行赋值或并行赋值忽略某项时使用,如:

    a, _, c,d = 1,2,3,4 // 使用 _ 来忽略其中的一项
    fmt.Println(a) // 1
    fmt.Println(d) // 3
    fmt.Println(d) // 4
    

变量的类型转换

  • go 中不存在隐式转换,所有类型转换必须显式声明
  • 转换只能发生在两种相互兼容的类型之间, 布尔类型不可以和数字进行转换

    import (
    "fmt"
    "strconv"
    )
    
    func main() {
    var a int = 65
    b := string(a)
    c := strconv.Itoa(a)
    d := strconv.Atoi(c)
    fmt.Println(b) // A  备注此处系统将65通过ASCii 码的形式转换成了 A
    fmt.Println(c) // 65 备注此处的65是字符形65
    fmt.Println(d) // 65 备注此处将字符型65转换成了数字65
    }
    
  • 类型的转换格式:<ValueA> [:]= <TypeOfValueA> (<ValueB>) 而可选项 : 在变量未在上文定义的时候使用。

    var a float32 = 1.1
    b := int(a)
    fmt.Println(a) // 1.1
    fmt.Println(b) // 1
    
详解Golang编程中的常量与变量 Go语言常量 常量是指该程序可能无法在其执行期间改变的固定值。这些固定值也被称为文字。 常量可以是任何像一个整型常量,一个浮点常量,字符常量或字符串文字的基本数据类型。还有枚举常量。 常量是一样,只是它们的值不能自己定义后进行修改常规变量处理。 整型常量 一个整数文字可以是十进制,八进制,或十六进制常数。前缀指定基或基数:0x或0X的十六进制,0表示八进制,并没有为十进制。 一个整数文字也可以有一个后缀为U和L的组合,分别为无符号和长整型。后缀可以是大写或小写,并且可以以任意顺序。 这里是整数常量的一些例子: 代码如下: 212         /* Legal */ 215u        立即下载

相关推荐

Shopee App加密算法逆向实战:从抓包到libshpssdk.so的深度解析

本文详细解析了Shopee App加密算法的逆向过程,从网络抓包发现加密参数入手,通过Frida动态Hook定位到Java层关键方法,并深入追踪至Native层的libshpssdk.so核心函数。文章结合实战演示了如何利用Unidbg模拟执行环境进行算法分析与验证,并探讨了核心参数生成逻辑及风控规避要点,为移动安全与逆向工程研究提供了完整的技术路径。

weixin_28347369的博客 531

Golang中的常量

golang中的常量 文章目录golang中的常量字符常量短声明变量和类型推导布尔值浮点数复数整数数字 在Go中,我们通常使用const关键字来定义一个常量,它为标量值引入了名称,例如2或者3.14或者helloworld.这样的值在Go中被称为常量。常量也可以通过根据常量构建的表达式来创建,例如2+3或者2*3或者“go"+"lang"等。 有些语言支持常量,而有些语言不支持常量,有些语言虽然支持常量,但是定义常量的方式不同,意义也不同。但是在Go中,常数只是一个简单而不变的值。 字符常量 数字常量有很多

CamelGem 7596

RagFlow 文档解析

RAGFlow 的设计哲学是“高质量输入,高质量输出”,它通过提供可解释性和可控性的生成结果,让用户能够信任并依赖于系统提供的答案。

weixin_43008312的博客 3999

Golang学习(六) 常量

常量与变量不同,常量是指在程序运行时,"不会被修改的量" 定义格式 const identifier [type] = value #常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型。 定义常量 #显式类型定义 const b string = "abc" #隐式类型定义 const b = "abc" #多个相同类型的声明可以简写为: const name1, name2 = value1, value2 1、常量枚举 常量可以用len() ca..

默子昂 492

给爸妈买的红米12C想装个老年桌面?先别急,解锁BL和Root前你得知道这些

本文详细解析了红米12C解锁BL和Root的利弊,为想要为长辈简化手机操作的用户提供全面指南。文章对比了BL解锁与Root的技术差异,推荐优先使用MIUI内置的极简模式等官方功能,并评估了Root的实际必要性。若必须Root,提供了安全操作流程和长期维护建议,帮助用户做出明智选择。

weixin_30265103的博客 318

手把手教你用AI工具快速开发UniApp首页:从设计稿到完整页面的实战流程

本文详细介绍了如何利用Claude Code、Cursor等AI工具高效开发UniApp首页的完整工作流。从设计稿解析、Prompt工程、代码生成优化到调试适配,提供了一套可复用的实战流程,帮助前端开发者大幅提升从设计到代码的转化效率。

weixin_29199873的博客 319

Go语言开发基础----常量

本文详细介绍了Go语言中常量的定义声明方式以及iota的用法

redrose2100的博客 705

Delta并联机构运动学正逆解:从理论建模到Matlab实战

本文深入解析了Delta并联机构运动学正逆解的核心原理与实战方法。通过几何建模,清晰阐述了其“逆解简单、正解复杂”的特性,并详细推导了基于一元二次方程的逆解解析算法与采用牛顿-拉弗森迭代法的正解数值算法。文章结合完整的Matlab代码实例,从符号推导到数值求解,提供了从理论到实践的完整实现路径,助力机器人开发者掌握Delta并联机构的运动学分析。

weixin_29096377的博客 437

golang:常量

golang中的常量使用const定义,用于存储不会改变的数据,常量是在编译时被创建的,即使定义在函数内部也是如此,并且只能是布尔型、数字型(整数型、浮点型和复数)和字符串型。由于编译时的限制,定义常量的表达式必须为能被编译器求值的常量表达式。 常量的定义格式和变量的声明语法类似: const name [type] = value 例如: const pi = 3.14159 // 相当于 math.Pi 的近似值 在Go语言中,你可以省略类型说明符 [type],因为编译器可以根据变量的值来推断其类

OceanStar的博客 2032

在 FlexSim 中建 AGV 小车模型时,如果设定“每次充电需要 2 小时才能充满”,应该如何配置 AGV 的充电功能?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值。

**My Coding Family** 883

【100%通过率】华为OD机试真题 C++ 实现【打印机队列】【2022.11 Q4 新题】

有5台打印机打印文件,每台打印机有自己的待打印队列。因为打印的文件内容有轻重缓急之分,所以队列中的文件有1~10不同的代先级,其中数字越大优先级越高。打印机会从自己的待打印队列中选择优先级最高的文件来打印。如果存在两个优先级一样的文件,则选择最早进入队列的那个文件。现在请你来模拟这5台打印机的打印过程。

MISAYAONE的博客 9947

二、golang基础之常量

常量是一个简单值的标识符,在程序运行时,不会被修改的量。 常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型。 常量的定义格式: (二)定义 (1)显式类型定义: (2)显式类型定义: (3)例子 (三)内置函数 常量可以用len(), cap(), unsafe.Sizeof()常量计算表达式的值。常量表达式中,函数必须是内置函数,否则编译不过: 字符串类型在 go 里是个结构, 包含指向底层数组的指针和长度,这两部分每部分都是 8 个字节,所以字符串类型大小为 16 个字节。

weixin_54447296的博客 826

自己的搭建的slam机器人建图导航测试

1、前言 这里是对自己搭建的slam机器人建图导航的功能测试,原本并不想写这一篇的,因为每个小伙伴的需求都不一样,但是发现还是有同学有需求,于是就有了这一篇。本篇属于说明分享类文章,不涉及细节解释。按照步骤操作即可。 本次测试需要建图算法my_slam_gmapping、导航框架navigation、以及explore_lite功能包、mbot_teleop键盘控制功能包等。 环境:ubuntu mate 16.04 + ROS Kinetic 功能包下载:在公众号:小白学移动机器人,发送:建图导航测试,即

「小白学移动机器人」一个专注分享移动机器人相关知识的公众号! 8707

Go基础编程 - 04 - 基本类型、常量和变量

基本类型、常量和变量,类型断言,强制转换,隐式转换。

1242

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Go语言中数据类型与变量的用法

在Go语言中,数据类型分为以下几类:基本类型、复合类型和特殊类型。理解这些数据类型可以帮助我们更高效地操作数据和设计程序。

jkzyx123的博客 1210

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Golang数据类型+变量+常量

数值型整数型byte:uint8的别名rune:int32的别名int:64位操作系统则int64,32位操作系统则int32uint:64位操作系统则uint64,32位操作系统则uint32浮点型复数型布尔型字符串。

paofuluolijiang的博客 980

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Go基础学习04-变量重声明;类型转换;类型断言;Unicode代码点;类型别名;潜在类型

上述代码首先定义一个字符串数组,其名称为container,在main函数中,首先对container进行短变量重赋值,随后又对container使用短变量重新赋值,但这次赋值的对象类型不是[]string而是一个map类型,其key为int,value为string。如果是表达式,那么该表达式的结果只能是一个值,而不能是多个值。但对于集合类的类型[]Mystring与[]string来说这样做却是不合法的,因为[]Mystring与[]string的潜在类型不同,分别是Mystring和string。

one2excellent的博客 1172

【go语言】2.1.1 变量,常量和数据类型

Go 语言中,变量是存储数据的基本单位,常量则是固定不变的数据。每个变量和常量都有其对应的数据类型。

Andy0214的专栏 5463

变量和常量(Go语言)

变量 概念 变量是计算机语言中存储数据的抽象概念。变量的功能是存储数据。变量通过变量名访问。 变量的本质是计算机分配的一小块内存,专门用于存放指定数据,在程序运行过程中该数值可以发生改变。 变量的存储往往具有瞬时性,或者说是临时存储,当程序运行结束,存放该数据的内存就会释放,而该变量就会消失。 Go语言的变量名有字母,数字,下划线组成,首个字符不能为数字。 Go语法规定,定义的局部变量若没有被调用则编译错误。 命名:驼峰标识,不建议用下划线连接多个单词。 声明变量 变量声明有多种形式 //未初始化的标准格式

朱夏彤的博客 4835

Go基础之包&文件夹,数据类型,变量

在Go中,访问权限的控制非常简洁且独特,没有像其他语言(如 Java 或 C++)那样使用显式的 public、private 修饰符。Go通过标识符首字母大小写来决定访问权限。首字母大写:公共(Public)访问如果一个标识符(变量、函数、类型等)的首字母是大写的,则它是导出(exported) 的,包外可以访问。首字母小写:私有(Private)访问如果一个标识符的首字母是小写的,则它是未导出unexported) 的,包外无法访问。在上面的代码中,我们首先创建了一个变量并且赋值为常量。

上善若泪 1324

Go语言基础语法(一):变量的声明与赋值

go基础语法,变量的声明与赋值,匿名变量

嫣然细雨红尘路 1480

Go 语言变量与常量

无类型常量的好处是可以与更多类型一起使用而不需要显式类型转换,例如无类型整数常量可以直接赋值给int、int8、int16等任何整数类型变量,提高了代码的灵活性和可复用性。不同类型的零值不同:数值类型为0,布尔类型为false,字符串为空字符串"",指针、切片、映射、通道、函数和接口为nil。回答:常量声明通常使用const,变量声明通常使用var,常量声明定义之后需要初始化,初始化之后不能。回答:是一个用于const常量声明的计数器,通常用于常量组的声明中,是默认声明不进行显示初始化时,会赋予变量的值。

LWCT 1117

【转载】Go基础语法(常量、枚举、注释、类型别名、指针)

文章目录1、常量(const关键字)1.1、概念1.2、iota 常量生成器2、3、4、5、 1、常量(const关键字) 1.1、概念 Go语言中的常量使用关键字 const 定义,用于存储不会改变的数据,常量是在编译时被创建的,即使定义在函数内部也是如此,并且只能是布尔型、数字型(整数型、浮点型和复数)和字符串型。由于编译时的限制,定义常量的表达式必须为能被编译器求值的常量表达式。 常量的定义...

沙师弟专栏 8943

Go语言学习13-类型转换

Go语言数据的使用之类型转换

Huazie 1802

Golang基础_01-类型,变量与常量

目录 目录: 数据类型 类型零值 单个变量的声明和赋值 多个变量的声明赋值 变量的类型转换 常量的定义 目录: @ 注意事项 ---- 省略调用和别名不能同时使用 go关键...

141

Golang 基础语法、常量、变量、数据类型

目录.go文件基本结构变量常量数据类型内建数据类型指针 Pointer结构体接口接口的定义和实现任何类型接口的组合内建容器数组 Array切片 Slice集合 Map类型转换类型扩展   Go,又称Golang,是google开源的编程语言,原生支持并发编程 没有对象的概念,不支持继承、多态,没有泛型、try…catch 有接口、函数式编程、csp并发模型(goroutine+channel)   .go文件基本结构 /* 一个包可以对应多个目录,一个目录只能对应一个包,同一目录下包

chy-x 的博客 1408
上一篇: 企业管理理论综述与实践 — 营销
下一篇: Go语言学习笔记 --- 常量的定义详解
Wang's Blog
博客等级 码龄12年 7438粉丝 2421原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wang's Blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值