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

AI量化投资开源平台——Qlib(微矿)的学习使用笔记(随缘更新) Qlib 涵盖了量化投资的全过程,为用户的 AI 算法提供了高性能的底层基础架构,从框架设计上让用户可以更容易地应用 AI 算法来辅助解决量化投资的各个关键问题(例如 Alpha 预测,风险预测,市场动态性建模)。本文旨在记录一些面向初学者的基础内容。 阅读详情

目录:

注意事项

  • 省略调用和别名不能同时使用
  • go关键字25个,都是小写
  • 常量,变量,类型,接口,结构,首字母大写就是public,首字母小写是private,一个包是一个整体
  • 常量,变量,一般类型(非struct,interface)都可以组合成组
  • var只能声明全局变量,也可以在函数体里面用,但是不建议这样用
  • type:自定义类型,可以用来更改类型的名字

数据类型

  1. bool: 1 byte, only have value of “true” and “false”
  2. int/uint: 32bits/64bits depend on the platform
  3. (八位整型)int8/uint8(byte): 1 byte, -128~127/0~255
  4. (16位整型)int16/uint16: 2byte, -2^15~2^15-1/0~2^16-1
  5. (32位整型) int32(rune)/uint32: 4byte, -2^31~2^31-1/0~2^32-1 rune是字符型
  6. (64位整型) int64/uint64: 8byte, -2^63~2^63-1/0~2^64-1
  7. (浮点型,没有double)float32/float64: 4/8byte , account to 7、15 deciaml palces(精确到小数点后7/15位)
  8. (复数)complex64/complex128
  9. 含指针的32位或者64位 int:uintptr

类型零值

即默认值,通常为0,bool为false,string为空字符串

单个变量的声明和赋值

//声明:
var num int
//赋值
num=40
//声明的同时赋值,类型可以省略,也可以把var省略,用:=
var num int = 40
var num2 = 41
num3 := 43

多个变量的声明赋值

  • 全局变量的声明可以使用var()和并行方式简写,但是,var不能省略,即不能用:=
  • 类型推断即省略类型名,所有情况都可以
  • 函数体内的局部变量不能使用var()的方式简写,但是能用:=和并行简写
//全局变量:
var (
    aaa="hello"
    ddd, hhh=1,2
)
//函数体内的局部变量声明同时赋值才能使用:=,不能使用var()形成组
var f,g,h,j int
f,g,h,j=1,2,3,4

var a,b,c,d int = 1,2,3,4
var a,b,c,d = 1,2,3,4
a,b,c,d := 1,2,3,4
a, _, c,d := 1,2,3,4 //a=1,c=3,d=4

变量的类型转换

  • Go不存在隐式转换,所有类型转换必须显示声明
  • 转换只能发生在两种相互兼容的类型之间
var a float32 = 1.1
b := int(a)

c := 65
d := string(c)
fmt.Println(d)
//输出A
//string()表示将数据转换成文本格式,将65 对应于A,在unicode编码中,要是想输出字符65 ,就要引入包strconv
e := strconv.Itoa(c)
fmt.Println(e)

常量的定义

  • 常量一般全部大写字母,特殊情况可以只首字母大写,此时为public,如果想定义为private,就在最前面加下划线或者小写c(表示const)表示private
  • 常量的值在编译的时候就已经确定
  • 常量的定义格式和变量基本相同
  • 等号右边必须是常量或者表达式
  • 常量表达式中的函数必须是内置函数
const B = 'A'
const (
    text = "123"
    length = len(text)
    num = B * 20
)
  • 常量初始化规则:在定义常量组const()时,如果不给初始值,则默认使用上一行的表达式
  • 使用相同的表达式不代表具有相同的值
  • iota是常量的计数器,初始我0,一个组中每定义一个常量,计数器加一
  • 通过初始化规则和iota可以达到枚举的效果
  • 没遇到一个const关键字,iota就会重置为0
手把手带你死磕ORBSLAM3源代码(一)目录详解 ORB-SLAM3是一种基于特征点的稀疏实时单目SLAM(Simultaneous Localization and Mapping)系统。它是ORB-SLAM系列模型的第三代版本,用于在无人机、机器人和增强现实等领域中进行实时定位和建图。ORB-SLAM3使用了一种特征点提取和描述算法,称为ORB(Oriented FAST and Rotated BRIEF)。该算法能够提取图像中的稳定特征,并将其用于地图建立和相机定位。 阅读详情

相关推荐

vmware vsphere5---部署vCSA(VMware vCenter Server)附带第二阶段安装报错解决方案

因为这份文档我是边做边写的,遇到问题重新装了好几次所以IP会很乱ESXI主机为192.168.20.10VCSA为192.168.20.7,后台为192.168.20.7:5480后期请自行对应,后面的192.168.20.57请对应192.168.20.7,或根据自己的来。

m0_70212665的博客 5714

Golang 学习三(变量/常量与数据类型)

文章目录一、变量1. 定义2. 变量声明方式3. 多变量声明4. 全局变量和局部变量5. 值类型与引用类型5.1 值类型5.2 引用类型二、常量1. 定义2. iota三、数据类型1. 布尔值2. 数字类型3. 字符串类型4. 指针类型 一、变量 1. 定义 变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念。 变量可以通过变量名访问。 Go 语言变量名由字母、数字、下划线组成,其中首个字符不能为数字。 声明变量的一般形式是使用 var 关键字。 var identifier type /

shenyuanhaojie的博客 1140

ICG cell如何通过Latch结构消除与门clock gating中的glitch?

本文深入解析了ICG Cell如何利用Latch结构解决传统与门时钟门控中的毛刺问题。通过将电平敏感锁存器与门控与门结合,ICG Cell将使能信号的变化严格限制在时钟低电平的安全窗口内采样和锁存,从而在时钟有效沿期间提供稳定的控制信号,从根本上消除了因信号延迟不同步而产生的glitch,确保了门控时钟的纯净与电路功能的可靠性。

weixin_29234423的博客 468

Golang中的常量

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

CamelGem 7596

SKILL实现电路virtuoso原理图schematic中引脚pin的net自动打上pin label

SKILL实现电路virtuoso原理图schematic中引脚pin的net自动打上pin label

qq_41510657的博客 2614

为什么你的单细胞数据总有问题?可能是忽略了scDblFinder这个神器

本文深入剖析了单细胞数据分析中异质性双细胞这一常见但易被忽视的痛点,并重点介绍了scDblFinder这一神器。scDblFinder通过机器学习模型,能精准识别并过滤同一样本内的异质性双细胞,有效解决其导致的聚类模糊、信号混淆等问题,从而显著提升数据洁净度与下游分析结果的可靠性。

brandy的博客 453

golang:常量

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

OceanStar的博客 2032

lighttools用透镜旋转手动创建菲尼尔透镜

学过很多软件,都没有留下痕迹,很多年之后只记得学过的软件常用的一些功能,稍微难一些的再次用起需要重新学,但如果留下点痕迹,重新再用就会很快。lighttools无意之中接触了,记一点点笔记吧。...

kingsai2012的博客 4331

Go语言学习二:Go基础(变量、常量、数值类型、字符串、错误类型)

使用var关键字是go语言最基本的定义变量方式,与C语言不通的是Go语言把变量放在变量名后面。

巴途Way,专注Go,PHP,C开发 3066

FPGA原型验证(八):SoC设计适配与实现策略

时钟门控在SoC设计中很常见,应该小心处理门控时钟,以成功地在FPGA上原型化SoC设计。现代FPGA综合工具在正确约束的情况下,可以自动处理大多数门控时钟。通过遵循本章中的指导方针,即使具有复杂时钟门控的SoC设计也可以得到处理,并成功地在FPGA上进行原型化。

叫好与叫座虽然不是对立面,但想在同一个作品中达到双重效果很难。 477

多源异构数据融合(Kaggle+Google Trends联合分析)

本文详细介绍了如何利用Python实现多源异构数据融合,以Kaggle电商销售数据与Google Trends搜索指数为例,展示了数据清洗、预处理、时间对齐、数据合并、相关性分析、回归建模和可视化全过程。数据预处理与内存优化通过分块加载、数据类型转换和缺失值处理,有效降低了大规模数据在内存中的占用,并确保数据质量。时间对齐与数据融合策略采用重采样与内连接方法对齐不同数据源的时间维度,实现了高质量数据的融合,为后续联合分析奠定基础。模型构建与分析。

闲人编程的博客 1016

Golang教程:(五)常量

这是本Golang系列教程的第五篇。 定义常量 常量(constant)表示固定的值,比如:5,-89,"I love Go",67.89 等等。 考虑如下程序: var a int = 50 var b string = "I love Go" 上面的程序中, a 和 b 分别被赋值为常量 50 和 "I love Go"。关键字 const 用于指示常量,如 

zhangbohh8662的博客 1595

笔试题-2023-星宸-数字IC设计【纯净题目版】

4 笔试题-2023-星宸-数字IC设计【纯净题目版】

w0shishabi的博客 1172

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

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

141

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

go基础——01(变量、常量、内置基本类型)

变量 Go语言里面定义变量有多种方式。 使用var关键字是Go最基本的定义变量方式,与C语言不同的是Go把变量类型放在变量名后面: //定义一个名称为“variableName”,类型为"type"的变量 var variableName type 定义多个变量 //定义三个类型都是“type”的三个变量 var vname1, vname2, vname3 type 定义变量并初

午夜芭蕉雨的专栏 966

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

2020-01-01 Go语言学习日记:变量、常量、枚举、基础类型

变量 变量的一起声明(注意,不能使用**:=** 来进行声明): 常量 常量的一起声明(不能使用**:=**来声明,但是可以声明常量,不使用(变量是声明了必须使用)): 枚举 iota 必须是常量类型 每次从0开始计数 每次使用const声明常量后都会重新计数,如下图 声明在同一排的枚举大小都相等,如下图 可以使用下面方法来声明连续枚举数 const( i = iota j = iota k = iota ) fmt中的Println函数(最好不用) 每个间隔(字符

yirandezhanghao的博客 193

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Golang基础 变量与常量

但在声明多个常量时,可以通过省略值的方式初始化值相同的常量,如果省略了值则表示该常量的值与其上一行的常量值相同,这是变量中无法实现的初始化方式。Go语言编译器在声明变量时,如果没有显式地初始化,则会根据变量的数据类型用默认值对其进行初始化。:在显示初始化变量时,可以省略变量的数据类型,编译器自动根据赋值运算符右值来自动推导出变量的数据类型完成初始化。占位,表示忽略值,这也是Go语言的一语法特点,匿名变量不占用命名空间,不会分配内存,所以也不存在重复声明。:前者是赋值运算符,仅将右值赋给左侧变量;

王清欢的博客 7329

02_Go语言基础学习_Go程序基本结构、常量和变量、数据类型、操作符

1. 文件名&关键字&标识符 所有go源码以.go结尾; 标识符以字母或下划线开头,大小写敏感; _是特殊标识符,用来忽略结果; 保留关键字 2. Go程序基本结构 package main import( “fmt” ) func main() { fmt.Println(“hello world”) } 任何一个代码文件隶属于一个包; golang可...

数据知道的博客 2万+

【Go学习】-01-1-入门及变量常量指针

【Go学习】-01-1-入门及变量常量指针

bblb的博客 1397

Go 语言常量

什么是常量?常量是 Go 语言中表示固定值的标识符,在程序运行期间不可更改。常量的类型仅限于布尔型、数字型(整数、浮点数、复数)和字符串型。如何定义常量?使用const,如。隐式类型:省略类型,编译器自动推断,如。常量的作用域常量可以定义在包级(全局)或函数内,编译时确定其值。特殊特性常量不能使用运算符获取地址。常量存储在数据区的常量区,变量则存储在栈区或堆区。开发中常使用全大写命名(如LENGTH)以区分变量。枚举与iota。

likuoelie的博客 844

(Go基础)变量与常量?字面量与变量的较量!

本文带你了解Go语言中的变量与常量! 并且在变量中如何进行强制转换类型!

拔高、提升、创新! 1168

golang学习笔记——基础01

golang学习笔记——基础01

mirana的专栏 4054

01_常量与变量

const (

学无止境 967

Go基础编程:变量和常量

原文链接:http://oldchen.iwulai.com/index.php/2019/01/09/go%E5%9F%BA%E7%A1%80%E7%BC%96%E7%A8%8B%EF%BC%9A%E5%8F%98%E9%87%8F%E5%92%8C%E5%B8%B8%E9%87%8F/ 变量 1.1 定义: 变量是几乎所有编程语言中最基本的组成元素。从根本上说,变量相当于是对一块数据存储...

欢迎交流PHP和前端知识QQ:634487911 306

Go语言核心知识点底层原理教程【变量、类型与常量】

本文系统介绍了Go语言的类型系统与变量机制。主要内容包括:1)Go类型分类,分为基本类型(布尔、数值、字符串)、复合类型(数组、切片、映射等)和自定义类型;2)变量的底层表示,包括内存布局、平台相关类型和零值机制;3)基本类型详解,涵盖布尔、整数、浮点和复数类型的底层实现;4)常量特性,如无类型常量、iota枚举器和编译期计算;5)类型转换机制,包括显式转换、字符串/字节切片转换及unsafe操作。文章深入剖析了Go类型系统的设计原理与实现细节,对理解Go语言底层机制具有重要参考价值。

xiaoxualg的博客 945

Go开发纪要01_基础类型

目录 01.命名方法 文件名 函数或方法 常量 变量 02.变量 03.变量声明 Go的语言结构 GO语言变量声明的方式 03.变量初始化 二 :=陷阱 04. 变量赋值 要点 示例 分号 变量类型 06. 匿名变量 07.常量 字面常量(常量值) 结构体 数组和切片 字典 快捷方式   2、枚举类型注意事项 3.1 枚举类型实现 3.2 i...

boss2967的博客 1090
上一篇: Golang基础--03--数组Array
下一篇: Golang基础--02--运算符及控制语句
ListentTome
博客等级 码龄9年 3粉丝 37原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值