go语言基本数据类型和变量

Go语言介绍(三)--Go语言基本结构和特性 Go 语言(又称为 Golang)是一种现代的编程语言,以其简洁的语法、高效的并发支持和出色的性能而受到广泛欢迎。 阅读详情

变量

Go 是静态类型语⾔,不能在运⾏期改变变量类型。
使⽤关键字 var 定义变量,⾃动初始化为零值。如果提供初始化值,可省略变量类型,由编译器⾃动推断。

var

声明变量的一般形式是使用 var 关键字: var identifier type 。

var x int
var f float32 = 1.6
var s = "abc"

:=

在函数内部,可⽤更简略的 “:=” ⽅式定义变量,

func main() {
	x := 123
	n, s := 0x1234, "Hello, World!"
	b := 123
	b := 1234 //会出现错误no new variables on left side of := 。因为在上一行已经定义过变量
	println(x, n, s, b)
}


变量赋值

多变量赋值时,先计算所有相关值,然后再从左到右依次赋值。

data, i := [3]int{0, 1, 2}, 0 
i, data[i] = 2, 100 // (i = 0) -> (i = 2), (data[0] = 100) 

特殊只写变量 “_”,⽤于忽略值占位。

func test() (int, string) {
 return 1, "abc"
}
func main() {
 _, s := test()
 println(s)
}

注意
在go语言中交换两个变量的值十分容易,不需要像c语言中定义一个中间量

i,j = j,i

匿名变量 “_”

我们在使用传统的强类型语言编程时,经常会出现这种情况,即在调用函数时为了获取一个值,却因为该函数返回多个值而不得不定义一堆没用的变量。在Go中这种情况可以通过结合使用多重返回和匿名变量来避免这种丑陋的写法,让代码看起来更加优雅。
而且,在go语言中编译器会将未使⽤的局部变量当做错误,为了避免这种情况必须用匿名变量进行占位。

var s string // 全局变量没问题。
func GetName() (firstName, lastName, nickName string) { 
 return "May", "Chan", "Chibi Maruko" 
} 

func main() {

//若只想获得nickName,则函数调用语句可以用如下方式编写:
 _, _, nickName := GetName() 
 i := 0 // Error: i declared and not used。(可使⽤ "_ = i" 进行占位)
}

注意重新赋值与定义新同名变量的区别

s := "abc"
println(&s)
s, y := "hello", 20 // 重新赋值: 与前 s 在同⼀层次的代码块中,且有新的变量被定义。
println(&s, y) // 通常函数多返回值 err 会被重复使⽤。
{
 s, z := 1000, 30 // 定义新同名变量: 不在同⼀层次代码块。
 println(&s, z)
}

输出:
0x2210230f30
0x2210230f30 20
0x2210230f18 30

常量

注意大写字母开头的常量在包外可见,否则只在本包内可见。

常量定义

常量值必须是编译期可确定的数字、字符串、布尔值。

const x, y int = 1, 2 // 多常量初始化
const s = "Hello, World!" // 类型推断
const ( // 常量组
 a, b = 10, 100
 c bool = false
)
func main() {
 const x = "xxx" // 未使⽤局部常量不会引发编译错误。
}

在常量组中,如不提供类型和初始化值,那么视作与上⼀常量相同。

const (
 s = "abc"
 x // x = "abc"
)

常量值还可以是 len、cap、unsafe.Sizeof 等编译期可确定结果的函数返回值。

const (
 a = "abc"
 b = len(a)
 c = unsafe.Sizeof(b)
)

预定义常量

Go语言预定义了这些常量:true、false和iota。
iota比较特殊,可以被认为是一个可被编译器修改的常量,在每一个const关键字出现时被重置为0,然后在下一个const出现之前,每出现一次iota,其所代表的数字会自动增1。从以下的例子可以基本理解iota的用法:

const ( // iota被重设为0
 c0 = iota // c0 == 0 
 c1 = iota // c1 == 1 
 c2 = iota // c2 == 2 
) 
const ( 
 a = 1 << iota // a == 1 (iota在每个const开头被重设为0) 
 b = 1 << iota // b == 2 
 c = 1 << iota // c == 4 
) 
const ( 
 u = iota * 42 // u == 0 
 v float64 = iota * 42 // v == 42.0 
 w = iota * 42 // w == 84 
) 
const x = iota // x == 0 (因为iota又被重设为0了) 
const y = iota // y == 0 (同上) 

如果两个const的赋值语句的表达式是一样的,那么可以省略后一个赋值表达式。因此,上
面的前两个const语句可简写为:

const ( // iota被重设为0
 c0 = iota // c0 == 0 
 c1 // c1 == 1 
 c2 // c2 == 2 
) 
const ( 
 a = 1 <<iota // a == 1 (iota在每个const开头被重设为0) 
 b // b == 2 
 c // c == 4

枚举

const (
 Sunday = iota // 0
 Monday // 1,通常省略后续⾏表达式。
 Tuesday // 2
 Wednesday // 3
 Thursday // 4
 Friday // 5
 Saturday // 6
)

可通过⾃定义类型来实现枚举类型限制。

type Color int
const (
 Black Color = iota
 Red
 Blue
)
func test(c Color) {}
func main() {
 c := Black
 test(c)
 x := 1
 test(x) // Error: cannot use x (type int) as type Color in function argument
 test(1) // 常量会被编译器⾃动转换。
}

基本类型

Go语言内置以下这些基础类型:
 布尔类型:bool。
 整型:int8、byte、int16、int、uint、uintptr等。
 浮点类型:float32、float64。
 复数类型:complex64、complex128。
 字符串:string。
 字符类型:rune。
 错误类型:error。
此外,Go语言也支持以下这些复合类型:
 指针(pointer)
 数组(array)
 切片(slice)
 字典(map)
 通道(chan)
 结构体(struct)
 接口(interface)

在这些基础类型之上Go还封装了下面这几种类型:int、uint和uintptr等。这些类型的
特点在于使用方便,但使用者不能对这些类型的长度做任何假设。对于常规的开发来说,用int和uint就可以了,没必要用int8之类明确指定长度的类型,以免导致移植困难。

布尔类型

Go语言中的布尔类型与其他语言基本一致,关键字也为bool,可赋值为预定义的true和
false示例代码如下:

var v1 bool
v1 = true
v2 := (1 == 2) // v2也会被推导为bool类型

布尔类型不能接受其他类型的赋值,不支持自动或强制的类型转换。以下的示例是一些错误的用法,会导致编译错误:

var b bool
b = 1 // 编译错误
b = bool(1) // 编译错误
//以下的用法才是正确的:
var b bool
b = (1!=0) // 编译正确 
fmt.Println("Result:", b) // 打印结果为Result: true 

整型

整型是所有编程语言里最基础的数据类型。

类 型长度(字节)值 范 围
int81128 ~ 127
uint8(即byte)10 ~ 255
int16232 768 ~ 32 767
uint1620 ~ 65 535
int324-2147 483 648 ~ 2 147 483 647
uint3240 ~ 4 294 967 295
int6489 223 372 036 854 775 808 ~ 9 223 372 036 854 775 807
uint6480 ~ 18 446 744 073 709 551 615
int平台相关平台相关
uint平台相关平台相关
uintptr同指针在32位平台下为4字节,64位平台下为8字节

需要注意的是,int和int32在Go语言里被认为是两种不同的类型,编译器也不会帮你自动
做类型转换,比如以下的例子会有编译错误:

var value2 int32
value1 := 64 // value1将会被自动推导为int类型
value2 = value1 // 编译错误

编译错误类似于:

cannot use value1 (type int) as type int32 in assignment。

使用强制类型转换可以解决这个编译错误:

value2 = int32(value1) // 编译通过

当然,在做强制类型转换时,需要注意数据长度被截短而发生的数据精度损失(比如
将浮点数强制转为整数)和值溢出(值超过转换的目标类型的值范围时)问题。

数值运算

Go语言支持下面的常规整数运算:+、-、*、/和%。加减乘除就不详细解释了,需要说下的是,% 和在C语言中一样是求余运算,比如:

5 % 3 // 结果为:2 
  1. 比较运算
    Go语言支持以下的几种比较运算符:>、<、==、>=、<=和!=。这一点与大多数其他语言相同,与C语言完全一致。
    下面为条件判断语句的例子:
i, j := 1, 2 
if i == j { 
 fmt.Println("i and j are equal.") 
} 

两个不同类型的整型数不能直接比较,比如int8类型的数和int类型的数不能直接比较,但
各种类型的整型变量都可以直接与字面常量(literal)进行比较,比如:

var i int32
var j int64
i, j = 1, 2 
if i == j { // 编译错误
 fmt.Println("i and j are equal.") 
} 
if i == 1 || j == 2 { // 编译通过
 fmt.Println("i and j are equal.") 
} 

位运算

运 算含 义样 例
x << y左移124 << 2 // 结果为496
x >> y右移124 >> 2 // 结果为31
x ^ y异或124 ^ 2 // 结果为126
x & y与 124 & 2 // 结果为0
x | y或124
^x取反^2 // 结果为-3

Go语言的大多数位运算符与C语言都比较类似,除了取反在C语言中是~x,而在Go语言中是^x。

浮点型

浮点型用于表示包含小数点的数据,比如1.234就是一个浮点型数据。

浮点数表示

Go语言定义了两个类型float32和float64,其中float32等价于C语言的float类型,
float64等价于C语言的double类型。
在Go语言里,定义一个浮点数变量的代码如下:

var fvalue1 float32
fvalue1 = 12 
fvalue2 := 12.0 // 如果不加小数点,fvalue2会被推导为整型而不是浮点型

浮点数比较

因为浮点数不是一种精确的表达方式,所以像整型那样直接用==来判断两个浮点数是否相等是不可行的,这可能会导致不稳定的结果。
下面是一种推荐的替代方案:

import "math" 
// p为用户自定义的比较精度,比如0.00001 
func IsEqual(f1, f2, p float64) bool { 
 return math.Fdim(f1, f2) < p 
} 

复数类型

复数实际上由两个实数(在计算机中用浮点数表示)构成,一个表示实部(real),一个表示虚部(imag)。如

复数表示

复数表示的示例如下:

var value1 complex64 // 由2个float32构成的复数类型
value1 = 3.2 + 12i 
value2 := 3.2 + 12i // value2是complex128类型
value3 := complex(3.2, 12) // value3结果同 value2 

实部与虚部

对于一个复数z = complex(x, y),就可以通过Go语言内置函数real(z)获得该复数的实
部,也就是x,通过imag(z)获得该复数的虚部,也就是y。

字符串

在Go语言中,字符串也是一种基本类型。相比之下, C/C++语言中并不存在原生的字符串类型,通常使用字符数组来表示,并以字符指针来传递。
Go语言中字符串的声明和初始化非常简单,举例如下:

str = "Hello world" // 字符串赋值
ch := str[0] // 取字符串的第一个字符
fmt.Printf("The length of \"%s\" is %d \n", str, len(str)) 
fmt.Printf("The first character of \"%s\" is %c.\n", str, ch) 

输出结果为:

The length of “Hello world” is 11
The first character of “Hello world” is H.

字符串的内容可以用类似于数组下标的方式获取,但与数组不同,字符串的内容不能在初始化后被修改,比如以下的例子:

str := "Hello world" // 字符串也支持声明时进行初始化的做法
str[0] = 'X' // 编译错误

编译器会报类似如下的错误:
cannot assign to str[0]
保存源文件时请注意编码格式必须选择UTF-8。特别是在Windows下一般编辑器都默认存为本地编码,比如中国地区可能是GBK编码而不是UTF-8,如果没注意这点在编译和运行时就会出现一些意料之外的情况。

字符串操作

运 算含 义样 例
x + y字符串连接“Hello” + “qwe” // 结果为Helloqwe
len(s) 字符串长度len(“Hello”) // 结果为5
s[i]取字符 “Hello” [1]// 结果为’e’

字符串遍历

Go语言支持两种方式遍历字符串。一种是以字节数组的方式遍历:

str := "Hello,世界"
n := len(str) 
for i := 0; i < n; i++ { 
 ch := str[i] // 依据下标取字符串中的字符,类型为byte 
 fmt.Println(i, ch) 
} 

这个例子的输出结果为:
0 72
1 101
2 108
3 108
4 111
5 44
6 32
7 228
8 184
9 150
10 231
11 149
12 140
可以看出,这个字符串长度为13。尽管从直观上来说,这个字符串应该只有9个字符。这是因为每个中文字符在UTF-8中占3个字节,而不是1个字节。
另一种是以Unicode字符遍历:

str := "Hello,世界"
for i, ch := range str { 
 fmt.Println(i, ch)//ch的类型为rune 
} 

输出结果为:
0 72
1 101
2 108
3 108
4 111
5 44
6 32
7 19990
10 30028
。

字符类型

在Go语言中支持两个字符类型,一个是byte(实际上是uint8的别名),代表UTF-8字符串的单个字节的值

var ch int = '\u0041'
var ch2 int = '\u03B2'
var ch3 int = '\U00101234'
fmt.Printf("%d - %d - %d\n", ch, ch2, ch3) // integer
fmt.Printf("%c - %c - %c\n", ch, ch2, ch3) // character
fmt.Printf("%X - %X - %X\n", ch, ch2, ch3) // UTF-8 bytes
fmt.Printf("%U - %U - %U", ch, ch2, ch3)   // UTF-8 code point
跟我一起学Golang从入门到精通《GO变量的数据类型》 //变量的数据类型 //每一种数据都定义了明确的数据类型,在内存中分配了不同大小的内存空间 // // |-->整数类型(int,int8,int16,int32,int64 // |-->数值型| uint,uint8,uint16,uint32,uint64,byte) // | |-->浮点类型(float32, 阅读详情

相关推荐

YOLOv8傻瓜式教程

YOLOv8傻瓜式教程,附带详细参数配置。

Father_of_Python的博客 1万+

Golang出现cannot use XXX as XXX value in assignment的报错

Golang出现cannot use XXX as XXX value in assignment的报错 今天被这个错误困扰一下午,满屏报这个错误,就很烦躁,后边沉下心来终于解决相应问题。这个问题翻译过来就是“在分配过程中XXX不作为XXX的值”,简而言之就是类型不匹配。所以当出现这个报错的时候仔细检查你这段golang代码函数的输入和输出值类型是否对上,有时候即使类型看着命名一样,可能struct来自的包的版本都不一致,比如这次我就是把DCache包和DCache.v3版本的对应,最后自己还挺乐呵觉得很正

qq_38843713的博客 1万+

别再死记硬背注意力机制了!用Python+PyTorch从零实现一个HAN(Hierarchical Attention Network)

本文详细介绍了如何使用Python和PyTorch从零实现Hierarchical Attention Network(HAN),通过代码级解析帮助读者深入理解层次注意力机制。文章涵盖词级和句子级注意力层的构建、完整HAN架构的实现、训练技巧及注意力可视化方法,特别适合希望掌握高级NLP技术的开发者。

weixin_28744423的博客 166

【Go】cannot use any (variable of type interface{}) as int value in variable declaration: need type as

并不能直接作为其他具体类型的值使用,因为它本身不是具体的类型,而是一种容器。如果你想将空接口类型中的值转换为具体类型,你需要使用类型断言(type assertion)来获取其中的值。可以容纳任何类型的值,但要从中获取具体类型的值,则需要使用类型断言。,那么断言操作会返回其对应的值;如果不是,将会导致运行时错误。在 Go 中,空接口类型。

Fanjufei的博客 744

手把手调试Android 14 ShellTransitions:用Log追踪ActiveTransition与Handler匹配过程

本文详细介绍了在Android 14中调试ShellTransitions机制的方法,重点通过Log追踪ActiveTransition与Handler的匹配过程。文章提供了关键日志点植入策略、Handler匹配机制解析及实战调试案例,帮助开发者解决窗口转场动画中的卡顿和错乱问题,提升系统动画性能。

weixin_42652674的博客 432

# 执行 DISM 命令时出错 87 未在此上下文中识别出 restorehealth 选项。解决方法

# 执行 DISM 命令时出错 87 未在此上下文中识别出 restorehealth 选项。解决方法

段子手168的博客 1万+

golang的个人学习笔记以及错题集

golang的个人学习笔记

过路之人的博客 4280

【技术分享】ArcGIS Pro底图色彩优化实战:从DEM到山体阴影的进阶调色技巧

本文深入探讨了在ArcGIS Pro中优化地形底图色彩的进阶技巧。通过分析DEM与山体阴影的直方图,详细讲解了如何运用图层混合、亮度、对比度及伽马值等核心参数进行精细化调色,从而将灰暗平淡的地图转化为层次分明、视觉美观的专业成果。

5b6n7m8的博客 761

golang 错误: cannot use XXX literal (type XXX) as type XXX in assignment:XXX does not implement XXX

出错代码如下: package main import ( "fmt" ) type Speaker interface { Hello() } type User struct { Name string Age int } func (this *User) Hello() { fmt.Println("hello my name is", t...

风格色的博客 2万+

【51单片机实物】基于51单片机设计的简易直流电机调测速系统(可用在普中开发板)

功能任务描述:将设置的转速与当前测量的转速比较,得出差值用于控制DAC0832的输出电压,从而控制直流电机的转速,使转速逐渐达到设置转速。在LED上显示设置转速(左2位LED)和当前转速(右2位LED),转速显示采用十进制。控制过程中,当前转速显示不断变化。*直流电机转速范围0-96r/s,误差±1r/s

嵌入式阿齐Archie 1万+

[PCIe5.0] 2.2.7.1 TPH Rules

TPH 机制通过硬件提示优化数据流,适用于高性能计算和存储场景。

系统固件工程师 350

go错误总结(27条)

1、undefined: apppen 没有此方法,请检查语法或者单词是否正确 2、m3 redeclared in this block previous declaration at .\utils.go:308:2 此方法或者变量没有使用,具体在308行 3、missing return at end of function 此方法缺少return返回或者结束标识符 4、s6 declared but not used s6变量没有使用 5、err declared but not used b

点点的博客 3775

ABAP CDS Time Functions 全面解析:用 TIMS_IS_VALID 护航时刻字段的正确性

摘要:本文深入解析ABAP CDS时间函数TIMS_IS_VALID的应用,重点介绍其在企业系统时间字段校验中的关键作用。文章指出无效时间数据会导致业务流程混乱,而CDS层校验能有效减少重复逻辑。详细说明TIMS类型格式要求、空值处理规则,并提供两种工程实现方案:在CDS视图中直接派生校验列,或通过ABAP SQL在内存表中批量验证。最后给出可直接运行的代码示例,包括一个ABAP报表演示内存表验证,以及一个CDS View Entity实现系统时间自动映射与校验,帮助开发者在业务场景中快速落地时间校验功能。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 194

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

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

数据知道的博客 2万+

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Go Tip01 Go语言简介、Go实例、规则、变量、数据类型、基本类型和string类型的相互转换

Go语言既可以到达静态编译语言的安全和性能,又可以高效开发。1、从C语言继承了很多理念,包括表达式的语法、控制结构、基础数据类型、参数传值、指针等。2、引入了包的概念,GO的一个文件都要归属一个包3、垃圾回收机制,内存自动回收4、天然并发(利用goruntine,实现大并发处理,高效利用多核)5、吸收了管道通信机制,go特有的管道channel6、函数可以返回多个值7、新的创新,例如切片slice、延时执行defer等。

Wantfly9951的博客 715

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Go语言基础之1--标识符、关键字、变量和常量、数据类型、Go的基本程序结构、Golang的特性...

一、前言 当我们项目较为简单时,我们在src目录下新建一个该项目目录,里面存放源码文件即可,见下图: 当我们一个项目较为复杂时,我们可以在src目录下新建一个该项目目录,在针对该项目不同模块创建不同目录,比如说logic(逻辑)、views(图片渲染)、data(数据库)等等。 二、第一个Go程序hello world 2.1 代码 package main i...

weixin_30445169的博客 113

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

GO语言的变量声明和基本数据类型

1. 基础语法 1.1 变量的声明 声明变量的一般形式是通过关键字 var ,var name type ,其中 name为变量名,type为变量的数据类型。 以上为单变量声明,当然也可以在一个语句中对多个变量进行声明,var name1, name2 type = val1, val2,前提是多个变量的类型必须是相同的。 1.2 省略var的变量声明 在声明变量时也可以使用 := 来进行声明,但是 := 左侧必须为新的变量,如果没有声明新的变量,就会编译错误。具体格式为 v_name := v_value

weixin_44058932的博客 375

Go语言入门1-标识符、关键字、变量和常量、数据类型、Go的基本程序结构、Golang的特性...

一Go环境安装部署 中文go文档及安装包下载地址: https://studygolang.com/dl#windows安装下载软件包 next 安装完成使用MSI文件并按照提示安装Go工具。 默认情况下,安装程序使用C:\Go目录。安装程序应该在窗口的PATH环境变量中设置C:\Go\bin目录。重新启动后,打开的命令提示验证更改是否生效。验证安装结果在F:\worksp\gol...

weixin_30379973的博客 134

go语言的基础语法(变量、常量、基本数据类型,for、switch,case、数组、slice(切片)、make和new、map)

必须指定数组的长度//定义一个长度为5元素类型为int的数组avara[5]intvarb[5]bool补充数组可以通过下标进行访问,下标是从0开始,最后一个元素下标是len-1,访问越界(下标在合法范围之外),则触发访问越界,会panic。...

ydl1128的博客 542

Golang语言基础篇001_常量变量与数据类型

在任何编程语言中,常量和变量都是最基本的概念之一。它们用于存储程序运行过程中需要的数据。在Go语言中,常量和变量有着不同的特性和使用方式。 本文将介绍Golang中常量、变量的概念、声明方式、命名规范等内容。另外,还会概述Golang中的数据类型。

ChineHe的博客 1511

Go语言基础01(变量、类型系统和基本数据类型)

Go语言基础一、注释1.1 单行注释1.2 多行注释二、变量操作2.1 变量导学2.1.1 变量定义2.1.2 变量作用2.2 变量声明、初始化与赋值2.2.1 变量声明2.2.2 变量初始化2.2.3 变量赋值2.3 案例:交换两个变量的值(一)2.4 自动推导类型2.5 案例:交换两个变量的值(二)2.6 输入与输出格式控制2.6.1 输出格式2.6.2 格式化输出 一、注释 1.1 单行注释 格式:// 注释说明内容 快捷键:Ctrl + / 1.2 多行注释 格式:/* 注释说明内容 */ 快

m0_52650517的博客 686

Go语言基本语法

Go语言(通常称为Golang)是由Google开发的一种静态类型、编译型语言,它旨在简化系统编程、网络编程和并发编程的复杂性。Go语言以其简洁、高效和易于理解的语法而受到开发者的喜爱。

owolai的博客 1084

【介绍下Golang的基本语法】

⭐Golang(通常称为Go)是一种由Google开发的静态类型、编译型语言,它具有简洁、高效和易于维护等特点,Go的设计哲学旨在简化编程任务,并提供快速的编译时间和高效的执行性能。⭐这只是Golang基本语法的一个快速概述,Go非常注重实践,推荐你通过编写实际的程序来进一步学习,你可以访问官方文档。:每个Go文件都以包声明开始,定义当前文件属于哪个包。关键字定义变量,Go也支持类型推断。:Go有基本的数据类型比如。

2301_81357485的博客 657

带你学够浪:Go语言基础系列 - 8分钟学基础语法

对于一般的语言使用者来说 ,20% 的语言特性就能够满足 80% 的使用需求,剩下在使用中掌握。 基于这一理论,Go 基础系列的文章不会刻意追求面面俱到,但该有知识点都会覆盖,目的是带你快跑赶上 Golang 这趟新车。 Hurry up , Let's go ! 一个好消息一个坏消息一个潜规则 Go 的语法类似 C 语言,你是从 C/C++ 语言过来的话学习成本很低,其他语言过来甚至没有编程基础也没关系,这门语言入门很轻松。 好消息是你的键盘得救了,在 Go 的世界里不用在每个语句后面加分号了,C

程序员柠檬 386

3、做中学 | 二年级上期 Golang数据类型和常量/变量声明使用

本文介绍了Go语言的基本数据类型、常量和变量的定义与使用方法。主要内容包括: 基本数据类型:详细列举了布尔型、整数型(int/uint系列)、浮点型、复数型、字符串型等Go语言的基础数据类型,包括每种类型的取值范围、零值和示例。 常量:介绍了常量的定义语法(使用const关键字),强调常量的不可修改特性,并展示了显式/隐式声明方式以及多常量简写形式。 变量:通过类比药材柜形象说明变量概念,详细讲解三种变量声明方式(先声明后赋值、声明时赋值、简短声明),以及多变量同时声明的方法。 全文以代码示例和表格形式清晰

liu_dongdong55的博客 1134
上一篇: Go语言的主要特征和简介
下一篇: go语言控制流
过去日记
过去日记 新星创作者: 后端开发技术领域 新星创作者: 后端开发技术领域
博客等级 码龄3年 5343粉丝 225原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

过去日记

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

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

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

打赏作者

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

抵扣说明:

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

余额充值