go入门教程
文章平均质量分 89
本专栏主要是go小白入门进行的一些教程
SunnyRivers
在通信、游戏、互联网、新能源等不同行业从事过多年大数据开发相关工作,想通过博客和大家一起分享大数据技术带来的经验和乐趣。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
go语言文件和目录
os.Open()函数能够打开一个文件,返回一个*File 和一个 err。io/ioutil 包的 ReadFile 方法能够读取完整的文件,只需要将文件名作为参数传入。它接收一个字节切片,返回读取的字节数和可能的具体错误,读到文件末尾时会返回 0 和。os.OpenFile()函数能够以指定模式打开文件,从而实现文件写入相关功能。perm:文件权限,一个八进制数。name:要打开的文件名 flag:打开文件的模式。为了防止文件忘记关闭,我们通常使用 defer 注册文件关闭语句。原创 2025-02-08 10:10:05 · 624 阅读 · 0 评论 -
go语言中的反射
反射是指在程序运行期间对程序本身进行访问和修改的能力。正常情况程序在编译时,变量被转换为内存地址,变量名不会被编译器写入到可执行部分。在运行程序时,程序无法获取自身的信息。支持反射的语言可以在程序编译期将变量的反射信息,如字段名称、类型信息、结构体信息等整合到可执行文件中,并给程序提供接口访问反射信息,这样就可以在程序运行期获取类型的反射信息,并且有能力修改它们。Golang 中反射可以实现以下功能:反射可以在程序运行期间动态的获取变量的各种信息,比如变量的类型 类别。原创 2025-02-07 17:00:57 · 1000 阅读 · 0 评论 -
go并发和并行
(Process)就是程序在操作系统中的一次执行过程,是系统进行资源分配和调度的基本单位,进程是一个动态概念,是程序在执行过程中分配和管理资源的基本单位,每一个进程都有一个自己的地址空间。管道是可以被垃圾回收机制回收的,它和关闭文件是不一样的,在结束操作之后关闭文件是必须要做的,但关闭管道不是必须的。是进程的一个执行实例,是程序执行的最小单元,它是比进程更小的能独立运行的基本单位一个进程可以创建多个线程,同一个进程中的多个线程可以并发执行,一个程序要运行的话至少有一个进程。原创 2025-02-07 15:17:05 · 1318 阅读 · 0 评论 -
go语言中的接口
现实生活中的接口现实生活中手机、相机、U 盘都可以和电脑的 USB 接口建立连接。我们不需要关注 usb 卡槽大小是否一样,因为所有的 USB 接口都是按照统一的标准来设计的。Golang 中的接口(interface)Golang 中的接口是一种抽象数据类型,Golang 中接口定义了对象的行为规范,只定义规范不实现。接口中定义的规范由具体的对象来实现。通俗的讲接口就一个标准,它是对一个对象的行为和规范进行约定,约定实现接口的对象必须得按照接口的规范。原创 2025-02-07 13:36:11 · 805 阅读 · 0 评论 -
go包以及包管理工具详解
包(package)是多个 Go 源码的集合,是一种高级的代码复用方案,Go 语言为我们提供了很多内置包,如 fmt、strconv、strings、sort、errors、time、encoding/json、os、io 等。Golang 中的包可以分为三种:系统内置包 、自定义包 、第三方包系统内置包: Golang 语言给我们提供的内置包,引入后可以直接使用,如 fmt、strconv、strings、sort、errors、time、encoding/json、os、io 等。原创 2025-02-07 10:43:33 · 935 阅读 · 0 评论 -
go结构体和json相互转换、序列化和反序列化
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。RESTfull Api 接口中返回的数据都是 json 数据。"title": "笔记本电脑",},"title": "第二个轮播图",},"title": "第三个轮播图",},"title": "教程",原创 2025-02-07 10:03:05 · 1642 阅读 · 0 评论 -
go结构体详解
Golang 中没有“类”的概念,Golang 中的结构体和其他语言中的类有点相似。和其他面向对象语言中的类相比,Golang 中的结构体具有更高的扩展性和灵活性。Golang 中的基础数据类型可以表示一些事物的基本属性,但是当我们想表达一个事物的全部或部分属性时,这时候再用单一的基本数据类型就无法满足需求了,Golang 提供了一种自定义数据类型,可以封装多个基本数据类型,这种数据类型叫结构体,英文名称 struct。也就是我们可以通过 struct 来定义自己的类型了。原创 2025-02-07 08:55:38 · 914 阅读 · 0 评论 -
go语言中的指针
我们知道变量是用来存储数据的,变量的本质是给存储数据的内存地址起了一个好记的别名。比如我们定义了一个变量 a := 10 ,这个时候可以直接通过 a 这个变量来读取内存中保存的 10 这个值。在计算机底层 a 这个变量其实对应了一个内存地址。指针也是一个变量,但它是一种特殊的变量,它存储的数据不是一个普通的值,而是另一个变量的内存地址。指针地址、指针类型和指针取值&(取地址)(根据地址取值)原创 2025-02-06 14:29:18 · 1584 阅读 · 0 评论 -
go time 包以及日期函
time.Duration 是 time 包定义的一个类型,它代表两个时间点之间经过的时间,以纳秒为单位。要获取时间点 t-d(d 为 Duration),可以使用t.Add(-d)。判断两个时间是否相同,会考虑时区的影响,因此不同时区标准的时间也可以正确比较。时间和日期是我们编程中经常会用到的,在 golang 中 time 包提供了时间的显示和测量用的函数。我们可以通过 time.Now()函数获取当前的时间对象,然后获取时间对象的年月日时分秒等信息。如果 t 代表的时间点在 u 之后,返回真;原创 2025-02-06 13:17:01 · 1081 阅读 · 0 评论 -
go函数详解
函数是组织好的、可重复使用的、用于执行指定任务的代码块。Go 语言中支持:函数、匿名函数和闭包。func 函数名(参数)(返回值){函数体函数名:由字母、数字、下划线组成。但函数名的第一个字母不能是数字。在同一个包内,函数名也称不能重名(包的概念详见后文)。参数:参数由参数变量和参数变量的类型组成,多个参数之间使用,分隔。返回值:返回值由返回值变量和其变量类型组成,也可以只写返回值的类型,多个返回值必须用()包裹,并用,分隔。函数体:实现指定功能的代码块。原创 2025-02-06 10:56:02 · 992 阅读 · 0 评论 -
go语言中的map
map 是一种无序的基于 key-value 的数据结构,Go 语言中的 map 是引用类型,必须初始化才能使用。KeyType:表示键的类型。ValueType:表示键对应的值的类型。map 类型的变量默认初始值为 nil,需要使用 make()函数来分配内存。make: 用于 slice,map,和 channel 的初始化。其中 cap 表示 map 的容量,该参数不是必须的。注意:获取 map 的容量不能使用 cap, cap 返回的是数组切片分配的空间大小, 根本不能用于map。原创 2025-02-05 17:36:11 · 411 阅读 · 0 评论 -
go语言中的切片
切片(Slice)是一个拥有相同类型元素的可变长度的序列。它是基于数组类型做的一层封装。它非常灵活,支持自动扩容。切片是一个引用类型,它的内部结构包含地址、长度和容量。name:表示变量名T:表示切片中的元素类型// 声明切片类型var a []string //声明一个字符串切片var b = []int{} //声明一个整型切片并初始化var c = []bool{false, true} //声明一个布尔切片并初始化。原创 2025-02-05 16:39:08 · 1002 阅读 · 0 评论 -
go语言中的数组
数组是指一系列同一类型数据的集合。数组中包含的每个数据被称为数组元素(element),这种类型可以是任意的原始类型,比如 int、string 等,也可以是用户自定义的类型。一个数组包含的元素个数被称为数组的长度。在 Golang 中数组是一个长度固定的数据类型,数组的长度是类型的一部分,也就是说 [5]int 和 [10]int 是两个不同的类型。Golang中数组的另一个特点是占用内存的连续性,也就是说数组中的元素是被分配到连续的内存地址中的,因而索引数组元素的速度非常快。原创 2025-02-05 14:51:31 · 477 阅读 · 0 评论 -
go流程控制
流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的“经脉”。Go 语言中最常用的流程控制有 if 和 for,而 switch 和 goto 主要是为了简化代码、降低重复代码而生的结构,属于扩展类的流程控制。原创 2025-02-05 14:24:01 · 1036 阅读 · 0 评论 -
go运算符
注意: ++(自增)和–(自减)在 Go 语言中是单独的语句,并不是运算符。位运算符对整数在内存中的二进制位进行操作。原创 2025-02-05 13:02:19 · 329 阅读 · 0 评论 -
go基本数据类型
Go 语言中数据类型分为:基本数据类型和复合数据类型整型浮点型布尔型字符串数组切片结构体函数map通道(channel)接口。原创 2025-01-27 22:32:51 · 1014 阅读 · 0 评论 -
go变量、常量、命名规则
程序运行过程中的数据都是保存在内存中,我们想要在代码中操作某个数据时就需要去内存上找到这个变量,但是如果我们直接在代码中通过内存地址去操作变量的话,代码的可读性会非常差而且还容易出错,所以我们就利用变量将这个数据的内存地址保存起来,以后直接通过这个变量就能找到内存上对应的数据了。经过半个多世纪的发展,编程语言已经基本形成了一套固定的类型,常见变量的数据类型有:整型、浮点型、布尔型等。其实上面定义变量的例子中我们以及给了初始化的案例了,这里单独拿出来主要是为了让注意变量的默认值。原创 2025-01-25 22:53:42 · 892 阅读 · 0 评论 -
go变量、打印、注释
下面仅仅是简单的介绍一下变量,后续还会详细讲解。比如:类型推导方式定义变量在函数内部,可以使用更简略的 := 方式声明并初始化变量。比如:fmt 包、Print、Println、PrintfGo 中要打印一个值需要引入 fmt 包fmt 包里面给我们提供了一些常见的打印数据的方法,比如:Print 、Println、Printf,在我们实际开发中 Println、Printf 用的非常多。结果:Println 会自动换行,Print 不会:结果:Println 和 Prin原创 2025-01-25 21:08:48 · 897 阅读 · 0 评论 -
从Java到Go:Java工程师的Golang学习指南
作为一名Java工程师,你可能已经习惯了Java的面向对象编程、强大的生态系统以及丰富的工具链。然而,随着Go语言(Golang)在云计算、微服务和并发编程领域的崛起,学习Go语言成为了一个非常有价值的选择。本文将通过对比Java和Go语言的方式,帮助你快速掌握Go语言的核心概念,并通过详细的案例讲解,帮助你理解两者之间的异同。Go对比:Go对比:Go对比:Go对比:Java通过类和接口实现多线程编程,或者使用包中的高级并发工具。GoGo语言通过实现并发,是轻量级的线程,由Go运原创 2025-01-25 16:22:56 · 1369 阅读 · 0 评论 -
go入门Windows环境搭建
Go 即 Golang,是 Google 公司 2009 年 11 月正式对外公开的一门编程语言。根据 Go 语言开发者自述,近 10 多年,从单机时代的 C 语言到现在互联网时代的 Java,都没有令人满意的开发语言,而 C++往往给人的感觉是,花了 100%的经历,却只有 60%的开发效率,产出比太低,Java 和 C#的哲学又来源于 C++。并且,随着硬件的不断升级,这些语言不能充分的利用硬件及 CPU。因此,一门高效、简洁、开源的语言诞生了。原创 2025-01-25 16:15:51 · 1177 阅读 · 0 评论
分享