Processing math: 100%

10 2021 档案

摘要:Go语言基础之构造函数、方法和接收者 一、构造函数 Go语言的结构体没有构造函数,我们可以自己实现。 例如,下方的代码就实现了一个person的构造函数。 因为struct是值类型,如果结构体比较复杂的话,值拷贝性能开销会比较大,所以该构造函数返回的是结构体指针类型。 // * persion 返回 阅读全文
posted @ 2021-10-17 17:55 RandySun 阅读(2021) 评论(0) 推荐(0) 编辑
摘要:Go语言基础之结构体struct 一、结构体介绍 struct是go语言为我们提供的可以自定义的一种类型,该类型可以封装多个基本数据类型,可以用来存放一个事物的不同属性 Go语言中的基础数据类型可以表示一些事物的基本属性,但是当我们想表达一个事物的全部或部分属性时,这时候再用单一的基本数据类型明显就 阅读全文
posted @ 2021-10-17 17:26 RandySun 阅读(755) 评论(0) 推荐(0) 编辑
摘要:Go语言基础之类型别名和自定义类型 Go语言中没有“类”的概念,也不支持“类”的继承等面向对象的概念。Go语言中通过结构体的内嵌再配合接口比面向对象具有更高的扩展性和灵活性。 一、自定义类型 在Go语言中有一些基本的数据类型,如string、整型、浮点型、布尔等数据类型, Go语言中可以使用type 阅读全文
posted @ 2021-10-17 16:20 RandySun 阅读(154) 评论(0) 推荐(0) 编辑
摘要:Go语言基础之指针 区别于C/C++中的指针,Go语言中的指针不能进行偏移和运算,是安全指针。 要搞明白Go语言中的指针需要先知道3个概念:指针地址、指针类型和指针取值。 一、Go语言中的指针 Go语言中的函数传参都是值拷贝,当我们想要修改某个变量的时候,我们可以创建一个指向该变量地址的指针变量。传 阅读全文
posted @ 2021-10-17 16:00 RandySun 阅读(335) 评论(0) 推荐(0) 编辑
摘要:Go语言基础之内置函数 一、内置函数 内置函数 介绍 close 主要用来关闭channel len 用来求长度,比如string、array、slice、map、channel new 用来分配内存,主要用来分配值类型,比如int、struct。返回的是指针 make 用来分配内存,主要用来分配引 阅读全文
posted @ 2021-10-16 22:52 RandySun 阅读(158) 评论(0) 推荐(0) 编辑
摘要:Go语言基础之defer语句 Go语言中的defer语句会将其后面跟随的语句进行延迟处理。在defer归属的函数即将返回时,将延迟处理的语句按defer定义的逆序进行执行,也就是说,先被defer的语句最后被执行,最后被defer的语句,最先被执行。 举个例子: func main() { fmt. 阅读全文
posted @ 2021-10-16 22:41 RandySun 阅读(239) 评论(0) 推荐(0) 编辑
摘要:Go语言基础之匿名函数和闭包 一、匿名函数 函数还可以作为返回值,但是在Go语言中函数内部不能再像之前那样定义函数了,只能定义匿名函数。匿名函数就是没有函数名的函数,匿名函数的定义格式如下: func(参数)(返回值){ 函数体 } 匿名函数因为没有函数名,所以没办法像普通函数那样调用,所以匿名函数 阅读全文
posted @ 2021-10-16 22:25 RandySun 阅读(328) 评论(0) 推荐(0) 编辑
摘要:Go语言基础之高阶函数 高阶函数分为函数作为参数和函数作为返回值两部分。 一、函数作为参数 函数可以作为参数: func add(x, y int) int { return x + y } func calc(x, y int, op func(int, int) int) int { retur 阅读全文
posted @ 2021-10-16 16:25 RandySun 阅读(173) 评论(0) 推荐(0) 编辑
摘要:Go语言基础之函数作用域 作用域指的是声明语句的作用域。声明语句如变量的声明、函数的声明等,都是将一个实体绑定给一个名字,而声明语句的作用域指的就是在源代码中可以有效使用该名字的范围 作用域 VS 声明周期 声明语句的作用域对应的是一个源代码的文本区域,是一个编译时的属性。 声明语句创造一个变量,该 阅读全文
posted @ 2021-10-16 16:00 RandySun 阅读(252) 评论(0) 推荐(0) 编辑
摘要:Go语言基础之函数返回值 Go语言中通过return关键字向外输出返回值。 一、函数返回值 func calc(x, y int) int { sum := x + y return sum } 二、多返回值 Go语言中函数支持多返回值,函数如果有多个返回值时必须用()将所有返回值包裹起来。 举个例 阅读全文
posted @ 2021-10-16 15:35 RandySun 阅读(2024) 评论(0) 推荐(0) 编辑
摘要:Go语言基础之函数参数 一、类型简写 函数的参数中如果相邻变量的类型相同,则可以省略类型,例如: func intSum(x int, y int) int { return x + y } // 函数参数简写 func intSum(x, y int) int { return x + y } 上 阅读全文
posted @ 2021-10-16 15:28 RandySun 阅读(278) 评论(0) 推荐(0) 编辑
摘要:Go语言基础之函数定义 函数是组织好的、可重复使用的、用于执行指定任务的代码块。本文介绍了Go语言中函数的相关内容。 Go语言中支持函数、匿名函数和闭包,并且函数在Go语言中属于“一等公民”。 一、函数定义 Go语言中定义函数使用func关键字,具体格式如下: func 函数名(参数)(返回值){ 阅读全文
posted @ 2021-10-16 15:14 RandySun 阅读(774) 评论(0) 推荐(0) 编辑
摘要:Go语言基础之map Go语言中提供的映射关系容器为map,其内部使用散列表(hash)实现。 map map是一种无序的基于key-value的数据结构,Go语言中的map是引用类型,必须初始化才能使用,map是无序的。 一、map定义 Go语言中 map的定义语法如下: map[KeyType] 阅读全文
posted @ 2021-10-16 14:56 RandySun 阅读(458) 评论(0) 推荐(0) 编辑
摘要:Go语言基础之切片 本文主要介绍Go语言中切片(slice)及它的基本使用。 一、引子 因为数组的长度是固定的并且数组长度属于类型的一部分,所以数组有很多的局限性。 例如: func arraySum(x [3]int) int{ sum := 0 for _, v := range x{ sum 阅读全文
posted @ 2021-10-16 13:51 RandySun 阅读(221) 评论(0) 推荐(0) 编辑
摘要:Go语言基础之数组 本文主要介绍Go语言中数组(array)及它的基本使用。 数组是同一类型元素的集合。例如,整数集合 5,8,9,79,76 形成一个数组。Go 语言中不允许混合不同类型的元素,例如包含字符串和整数的数组。(译者注:当然,如果是 interface{} 类型数组,可以包含任意类型) 阅读全文
posted @ 2021-10-15 21:52 RandySun 阅读(125) 评论(0) 推荐(0) 编辑
摘要:Go中nil的定义 在Go官方文档中,对nil的定义如下: // nil is a predeclared identifier representing the zero value for a // pointer, channel, func, interface, map, or slice 阅读全文
posted @ 2021-10-15 21:37 RandySun 阅读(444) 评论(0) 推荐(0) 编辑
摘要:复合数据类型介绍 一、什么是复合数据类型 基本数据类型是Go语言世界中的原子,以不同的方式组合基本数据类型得到的就是复合数据类型。复合类型是通过组合基础类型,来表达更加复杂的数据结构,即使用其他类型定义的类型,因而复合类型又称之为派生类型,数据类型分为值类型与引用类型。 二、值类型与引用类型 数值型 阅读全文
posted @ 2021-10-15 21:05 RandySun 阅读(1798) 评论(0) 推荐(0) 编辑
摘要:Go语言基础之流程控制goto 一、goto(跳转到指定标签) goto语句通过标签进行代码间的无条件跳转。goto语句可以在快速跳出循环、避免重复退出上有一定的帮助。Go语言中使用goto语句能简化一些代码的实现过程。 例如双层嵌套的for循环要退出时: func gotoDemo1() { va 阅读全文
posted @ 2021-10-15 08:22 RandySun 阅读(101) 评论(0) 推荐(0) 编辑
摘要:Go语言基础之流程控制switch分支 一、switch case switch 是一个条件语句,用于将表达式的值与可能匹配的选项列表进行比较,并根据匹配情况执行相应的代码块。它可以被认为是替代多个 if else 子句的常用方式。 使用switch语句可方便地对大量的值进行条件判断。 switch 阅读全文
posted @ 2021-10-15 08:11 RandySun 阅读(129) 评论(0) 推荐(0) 编辑
摘要:Go语言基础之流程控制for循环 一、for(循环结构) Go 语言中的所有循环类型均可以使用for关键字来完成。 for循环的基本格式如下: for 初始语句;条件表达式;结束语句{ 循环体语句 } 初始化语句只执行一次。循环初始化后,将检查循环条件。如果条件的计算结果为 true ,则 {} 内 阅读全文
posted @ 2021-10-15 07:58 RandySun 阅读(197) 评论(0) 推荐(0) 编辑
摘要:语言基础之流程控制if分支 一、if else(分支结构) if条件判断基本写法 Go语言中if条件判断的格式如下: if 表达式1 { 分支1 } else if 表达式2 { 分支2 } else{ 分支3 } 当表达式1的结果为true时,执行分支1,否则判断表达式2,如果满足则执行分支2,都 阅读全文
posted @ 2021-10-15 07:45 RandySun 阅读(116) 评论(0) 推荐(0) 编辑
摘要:Go语言基础之运算符 运算符用于在程序运行时执行数学或逻辑运算。 一、运算符 Go 语言内置的运算符有: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 二、算数运算符 运算符 描述 + 相加 - 相减 * 相乘 / 相除 % 求余 注意: ++(自增)和--(自减)在Go语言中是单独的语 阅读全文
posted @ 2021-10-14 23:20 RandySun 阅读(135) 评论(0) 推荐(0) 编辑
摘要:Go语言基础之基本数据类型 Go语言中有丰富的数据类型,除了基本的整型、浮点型、布尔型、字符串外,还有数组、切片、结构体、函数、map、通道(channel)等。Go 语言的基本类型和其他语言大同小异。 基本数据类型 整型 整型分为以下两个大类: 按长度分为:int8、int16、int32、int 阅读全文
posted @ 2021-10-14 23:00 RandySun 阅读(227) 评论(0) 推荐(1) 编辑
摘要:格式化输入输出 fmt包实现了类似C语言printf和scanf的格式化I/O,对应函数为:Printf和Scanf。 详见:https://golang.google.cn/pkg/fmt/ 格式化 输出 普通占位符 占位符 说明 举例 输出 %v 相应值的默认格式。 Printf("%v", p 阅读全文
posted @ 2021-10-13 23:08 RandySun 阅读(126) 评论(0) 推荐(0) 编辑
摘要:常量 相对于变量,常量是恒定不变的值,多用于定义程序运行期间不会改变的那些值。 常量的声明和变量声明非常类似,只是把var换成了const,常量在定义的时候必须赋值。 const pi = 3.1415 const e = 2.7182 声明了pi和e这两个常量之后,在整个程序运行期间它们的值都不能 阅读全文
posted @ 2021-10-13 22:47 RandySun 阅读(395) 评论(0) 推荐(0) 编辑
摘要:Go语言基础之变量 变量是什么:变量指定了某存储单元(Memory Location)的名称,该存储单元会存储特定类型的值。在 Go 中,有多种语法用于声明变量。 标识符与关键字 标识符 在编程语言中标识符就是程序员定义的具有特殊意义的词,比如变量名、常量名、函数名等等。 Go语言中标识符由字母数字 阅读全文
posted @ 2021-10-13 08:52 RandySun 阅读(128) 评论(0) 推荐(0) 编辑
摘要:跨平台编译 默认我们go build的可执行文件都是当前操作系统可执行的文件,如果我想在windows下编译一个linux下可执行文件,那需要怎么做呢? Windows编译Linux可执行文件 如果我想在Windows下编译一个Linux下可执行文件,那需要怎么做呢?只需要在编译时指定目标操作系统的 阅读全文
posted @ 2021-10-13 08:26 RandySun 阅读(408) 评论(0) 推荐(0) 编辑
摘要:Hello World https://segmentfault.com/ 建立 Go 工作区 在编写代码之前,我们首先应该建立 Go 的工作区(Workspace)。 在 Mac 或 Linux 操作系统下,Go 工作区应该设置在 (HOME/go*。所以我们要在 *)HOME 目录下创建 go 阅读全文
posted @ 2021-10-13 08:04 RandySun 阅读(248) 评论(0) 推荐(0) 编辑
摘要:使用go module导入本地包 go module是Go1.11版本之后官方推出的版本管理工具,并且从Go1.13版本开始,go module将是Go语言默认的依赖管理工具。到今天Go1.14版本推出之后Go modules 功能已经被正式推荐在生产环境下使用了。 如何使用go module导入本 阅读全文
posted @ 2021-10-12 22:30 RandySun 阅读(1003) 评论(0) 推荐(0) 编辑
摘要:Go语言之依赖管理 Go语言的依赖管理随着版本的更迭正逐渐完善起来。 依赖管理 为什么需要依赖管理 最早的时候,Go所依赖的所有的第三方库都放在GOPATH这个目录下面。这就导致了同一个库只能保存一个版本的代码。如果不同的项目依赖同一个第三方的库的不同版本,应该怎么解决? godep Go语言从v1 阅读全文
posted @ 2021-10-12 22:26 RandySun 阅读(342) 评论(0) 推荐(0) 编辑
摘要:Go包管理 包管理历史 Golang 的包管理一直被大众所诟病的一个点,但是我们可以看到现在确实是在往好的方向进行发展。下面是官方的包管理工具的发展历史: 在 1.5 版本之前,所有的依赖包都是存放在 GOPATH 下,没有版本控制。这个类似 Google 使用单一仓库来管理代码的方式。这种方式的最 阅读全文
posted @ 2021-10-12 22:20 RandySun 阅读(307) 评论(0) 推荐(0) 编辑
摘要:Go项目结构 在进行Go语言开发的时候,我们的代码总是会保存在GOPATH/srcgobuildgoinstallgogetGOPATH/src目录下, 产生的二进制可执行文件放在 $GOPATH/bin目录下,生成的中间缓存 阅读全文
posted @ 2021-10-12 22:17 RandySun 阅读(447) 评论(0) 推荐(0) 编辑
摘要:Go语言集成开发环境之VS Code安装使用 VS Code是微软开源的一款编辑器,插件系统十分的丰富。下面介绍如何用VS Code搭建go语言开发环境 下载与安装 VS Code官方下载地址 三大主流平台都支持,请根据自己的电脑平台选择对应的安装包。 双击下载好的安装文件,双击安装即可。 安装中文 阅读全文
posted @ 2021-10-12 08:17 RandySun 阅读(435) 评论(0) 推荐(0) 编辑
摘要:Go语言集成开发环境之GoLand安装使用 Goland 简介 Goland 是由 JetBrains 公司开发的一个新的商业 IDE,旨在为 Go 开发者提供的一个符合人体工程学的新的商业 IDE。Goland 整合了 IntelliJ 平台(一个用于 java 语言开发的集成环境,也可用于其他开 阅读全文
posted @ 2021-10-12 08:12 RandySun 阅读(4201) 评论(0) 推荐(0) 编辑
摘要:安装Go 下载 下载地址: Go官网下载地址:https://golang.org/dl/ Go官方镜像站(推荐):https://golang.google.cn/dl/ 各个系统对应的包名: 操作系统 包名 Windows go1.13.3.windows-amd64.msi Linux go1 阅读全文
posted @ 2021-10-11 23:16 RandySun 阅读(506) 评论(0) 推荐(0) 编辑
摘要:Go基础 第一篇 Go介绍与开发环境搭建 [01] Go语言介绍 [02] Go安装 [03] Go语言集成开发环境之GoLand安装使用 [04] Go语言集成开发环境之VS Code安装使用 [05] Go 语言多版本安装及管理利器 - GVM 第二篇 Go包管理 [01] Go项目结构 [02 阅读全文
posted @ 2021-10-11 22:03 RandySun 阅读(1678) 评论(1) 推荐(0) 编辑
摘要:Go语言介绍 Go 即Golang,是Google公司2009年11月正式对外公开的一门编程语言。 Go是静态强类型语言,是区别于解析型语言的编译型语言。 解析型语言——源代码是先翻译为中间代码,然后由解析器对代码进行解释执行。 编译型语言——源代码编译生成机器语言,然后由机器直接执行机器码即可执行 阅读全文
posted @ 2021-10-01 15:32 RandySun 阅读(188) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示