自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 golang的切片

摘要:切片是Go语言中的动态数组,作为数组的引用类型,具有可变长度特性。文章介绍了切片的基本概念、创建方式(直接引用数组或make函数)、内存结构(包含指针、长度和容量)及常用操作(遍历、append扩容、copy复制)。切片与数组的区别在于其动态性和引用传递机制,修改切片会影响底层数组。此外,字符串可视为不可变的字节切片,修改需先转换为[]byte或[]rune。切片通过灵活管理内存,解决了数组长度固定和变量定义的问题。

2025-08-05 23:54:57 910

原创 golang的数组

本文介绍了数组的基本概念和使用方法。数组是存储同类数据的集合,解决了定义大量变量的问题。文章详细说明了数组的定义、内存布局、初始化方式(四种方法)和遍历技巧(传统for循环和for-range)。重点讲解了数组的使用细节:长度固定、默认值、下标范围、值传递特性等。特别指出Go语言中数组是值类型,函数内无法修改外部数组,必须通过指针才能改变原数组。同时强调数组长度是其类型的一部分,在函数传参时必须指定长度。这些特性使数组成为处理批量数据的有效工具。

2025-08-04 23:49:21 882

原创 golang的包和闭包

本文介绍了Go语言中包和闭包的概念及使用要点。关于包的部分,说明了包的组织方式、引入方法(import路径)、使用细节(如包名规则、别名设置、命名冲突避免等)以及main包的特殊性。闭包部分通过代码示例,阐释了闭包是由函数及其引用的外部变量组成的整体,分析了闭包的特性(如变量持久化)和优势(如固定参数复用),并用类与方法的类比帮助理解闭包的工作机制。文章结合具体案例,提供了Go语言中包管理和闭包应用的实用指导。

2025-08-03 23:26:09 780 1

原创 golang的函数

本文介绍了Go语言函数的基本概念和使用方法。函数是将代码集合封装以完成特定功能的工具,具有重复使用、提高可读性和维护性的优点。文章详细说明了函数的基本语法、调用机制、栈空间分配等原理,并重点总结了12个使用注意事项:包括形参返回值的多类型支持、命名规范、值传递与引用传递的区别、不支持重载、函数作为数据类型等特性。同时介绍了自定义数据类型、返回值命名、可变参数等高级用法,通过代码示例展示了这些特性的具体应用。这些内容为Go语言函数的使用提供了系统性的指导。

2025-08-01 23:57:55 691

原创 golang的循环控制

本文介绍了Go语言中for循环的基本语法和使用方法。for循环有三种形式:带初始化、条件和迭代的标准形式;类似while的简化形式;以及无限循环形式。还详细说明了for循环的执行顺序、四要素以及遍历字符串和数组的两种方法(传统方法和for-range)。此外,文章还讲解了如何使用for循环实现while和do-while循环,以及break、continue、goto和return等控制语句的用法和注意事项,包括标签的使用、跳转控制等特性。最后强调了goto语句可能带来的代码可读性问题。

2025-07-30 23:39:21 797 1

原创 golang流程之分支控制

本文介绍了程序流程控制的三种主要类型:顺序控制、分支控制和循环控制。重点讲解了分支控制中的单分支、双分支、多分支、嵌套分支和switch分支结构。在Golang中,if语句必须包含条件表达式,且支持在条件中声明变量;switch语句默认每个case后都有break,支持fallthrough穿透,还能用于类型判断。文章还比较了switch和if的适用场景:switch适合具体数值匹配,if适合范围判断和布尔条件。

2025-07-28 22:10:55 782

原创 原码反码补码,位运算

本文介绍了计算机中的原码、反码和补码表示方法,以及位运算规则。正数的三种码相同,负数的反码是原码符号位不变其余取反,补码为反码加1。重点讲解了五种位运算符:与(&)、或(|)、异或(^)、右移(>>)和左移(<<),并通过具体示例演示运算过程,如2&4=0、2|4=6、-2^4=-6等。最后给出代码示例说明移位运算结果,强调计算机运算时都使用补码形式。

2025-07-27 21:53:21 359

原创 golang的进制以及进制间的互相转换

本文介绍了不同进制及其转换方法。主要内容包括:1)四种常用进制(二进制、八进制、十进制、十六进制)的表示方法;2)其他进制转十进制的方法;3)十进制转其他进制的方法;4)二进制与八进制、十六进制的相互转换。文中提供了Go语言的代码示例,演示了各种进制转换的实现过程,如二进制转十进制(101→5)、八进制转十进制(021→17)、十六进制转十进制(0xa2→162)等。重点讲解了8421法在二进制转十六进制中的应用,以及通过分组转换实现二进制与八进制、十六进制的互转。

2025-07-27 21:17:35 1174

原创 golang从控制台输入

本文介绍了在Go语言中如何获取用户终端输入的两种方法。首先需要导入fmt包,然后可以使用Scanln()或Scanf()函数读取输入。文章通过具体案例演示了这两种方法的用法:Scanln()逐个读取变量并回车确认,Scanf()则能一次性读取多个格式化输入。案例展示了如何从控制台获取姓名、年龄、薪水和是否喜欢编程等信息,并最终打印输出。

2025-07-26 21:50:59 222

原创 golang中的运算符(全集)

本文系统介绍了Golang中的各类运算符,包括算术、关系、逻辑、赋值等基本运算符及其特性。重点讲解了除法(/)和取模(%)运算的特殊规则、自增自减运算符的限制用法、逻辑运算符的短路特性,以及赋值运算符的使用规范。文章还对比了Golang与传统语言在运算符设计上的差异,如取消了三元运算符改用if-else替代,并提供了运算符优先级表。通过具体代码示例,详细说明了不同运算符的实际应用场景和注意事项,为理解Golang运算符机制提供了全面参考。

2025-07-26 21:49:54 1048

原创 Golang的标识符

本文介绍了Golang中标识符的概念、命名规则和注意事项。标识符包括变量、函数、对象和常量的名称,命名时只能包含字母、数字和_,不能使用关键字或以数字开头。特别说明空标识符_仅作占位符使用。文章强调Golang严格区分大小写,并提供了命名规范:包名应与目录名一致,变量/函数/常量名采用驼峰命名法,首字母大小写决定其可见性(大写可被外部包引用,小写仅限包内使用)。同时指出虽然系统类型名可用作标识符,但不建议这样做。

2025-07-25 21:35:53 210

原创 Golang的值类型和引用类型

本文介绍了Go语言中值类型和引用类型的区别。值类型(如基本类型、数组、结构体)直接存储值,通常在栈中分配内存;引用类型(如指针、map、slice)存储地址,数据通常在堆中分配。文章重点解释了内存分配原理,指出Go通过逃逸分析决定变量分配在栈还是堆,并说明当变量不再被引用时会被GC回收。此外,还通过示例代码展示了逃逸分析的实际应用场景,如函数返回指针导致变量逃逸到堆的典型情况,以及大对象、闭包变量等特殊处理规则。

2025-07-25 21:32:38 250

原创 golang中的指针

指针实际上是一种引用数据类型。它的作用是指向一个空间的地址。当然,指针自己也是有地址的。比如现在有个指针var ptrint = &i我们可以通过&ptr来确定指针的地址通过ptr来获得指针指向的空间内存储的东西在声明和赋值指针时我们会写出var ptr *int 等语句,这里的 *int表示的ptr指向的空间存储的是int类型的值var num int = 1 中,num变量指向内存中分配给它的一个空间,这个空间用于存储num被赋予的值。每个空间都是有地址的。

2025-07-24 21:33:25 849

原创 golang的基本数据类型转string,string转基本数据类型

本文介绍了Go语言中基本数据类型与字符串相互转换的常用方法。基本类型转字符串可通过fmt.Sprintf()或strconv包的函数实现,后者包括FormatInt、FormatFloat等,需注意参数类型限制。字符串转基本类型使用strconv包中的ParseInt、ParseFloat、ParseBool等函数,转换失败会返回默认值而非报错。文章详细说明了各函数的参数要求和使用场景,并提供了代码示例,强调错误处理和类型兼容性的重要性。

2025-07-24 21:25:04 944

原创 Golang基本数据类型的相互转换

Golang中基本数据类型的转换必须显式进行,使用T(v)语法。转换时原变量类型不变,仅值被转换。大精度转小精度时可能溢出,需要特别注意范围。不同类型变量运算前必须显式转换类型,但常量表达式会先计算再转换类型。例如int8(-2+128)合法,而int8(a)+128会因128超出int8范围报错。

2025-07-23 23:52:29 363

原创 Go的整型,浮点型,布尔型,字符型,字符串型的使用介绍

本文介绍了Go语言中的基本数据类型及其特性。整型部分说明了int、uint、rune、byte等类型的区别和使用原则;浮点型部分对比了float32和float64的精度差异及使用建议;布尔型强调只能使用true/false值;字符型详细解释了UTF-8编码规范及其与ASCII的关系;字符串型则介绍了两种表示形式和拼接方法。全文着重阐述了各数据类型的存储方式、取值范围和使用注意事项,为Go语言基础数据类型提供了全面而简洁的参考指南。

2025-07-22 21:50:35 1016

原创 Golang的变量

本文介绍了Go语言在变量处理上的创新特点。作为新兴编程语言,Go在变量声明方式上提供了多种选择:既可单独声明,也可声明赋值同时进行,还能批量定义变量。在数据类型方面,Go具有丰富的数值类型(整型、浮点型)、字符型(用byte和rune表示)、布尔型和字符串等基本类型,以及指针、数组、切片等复杂类型。特别指出Go的int类型长度会根据系统位数自动调整。文章最后介绍了查看变量类型和占用空间的函数,并预告后续将深入介绍Go语言的具体使用细节。

2025-07-21 21:55:25 488

原创 系统学习技术或者语言前,建议先学一下Markdown,让你学得有条不紊,掌握全局

Markdown是一种轻量级标记语言,由John Gruber于2004年创建,通过简单符号(如#、*等)实现结构化文档编写。它具有易转换、纯文本存储、跨平台协作等优势,广泛应用于笔记、博客和AI交互。常用语法包括:标题(#)、文本样式(斜体)、列表(-)、链接/图片()、代码块(```)、表格(|)等。支持VSCode、Typora等编辑器,学习成本低,是提升写作效率的利器。掌握基础语法即可快速上手,适用于多种文档场景。

2025-07-20 23:40:21 1143

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除