随笔 - 192,  文章 - 1,  评论 - 6,  阅读 - 51476

随笔分类 -  GO

函数之-匿名函数、闭包、递归
摘要:1.匿名函数 匿名函数是指不需要定义函数名的一种函数实现方式。1958年LISP首先采用匿名函数。 在Go里面,函数可以像普通变量一样被传递或使用,Go语言支持随时在代码里定义匿名函数。 匿名函数由一个不带函数名的函数声明和函数体组成。匿名函数的优越性在于可以直接使用函数内的变量,不必申明。 pac 阅读全文
posted @ 2022-06-08 17:34 輪滑少年 阅读(74) 评论(0) 推荐(0) 编辑
函数
摘要:1.函数定义 1.1 golang函数特点: 无需声明原型 支持不定 变参 支持多返回值 支持命名返回参数 支持匿名函数和闭包 函数也是一种类型,一个函数可以赋值给变量 不支持嵌套(nested) 一个包不能有两个名字一样的函数 不支持 重载(overload) 不支持 默认参数(default p 阅读全文
posted @ 2022-06-08 16:53 輪滑少年 阅读(34) 评论(0) 推荐(0) 编辑
循环控制之Goto、braeak、Continue
摘要:循环控制语句 循环控制语句可以控制循环体内语句的执行过程。 Go语言支持以下几种循环控制语句: 1.1 Goto、Break、Continue 1.三个语句都可以配合标签(label)使用 2.标签名区分大小写,定以后若不使用会造成编译错误 3.continue、break配合标签(label)可用 阅读全文
posted @ 2022-06-08 14:18 輪滑少年 阅读(60) 评论(0) 推荐(0) 编辑
流程控制之循环语句range
摘要:1. 循环语句range golang range 类似迭代器操作,返回(索引,值)或(键,值)。 for循环的range格式可以对slice、map、数组、字符串等进行迭代循环。格式如下: for key, value := range oldMap { newMap[key] = value } 阅读全文
posted @ 2022-06-08 14:12 輪滑少年 阅读(93) 评论(0) 推荐(0) 编辑
流程控制之for循环
摘要:1 循环语句for 1.1 Golang for支持三种循环方式,包括类似while的语法。 for 循环是一个循环控制结构,可以执行指定次数的循环 语法: GO语言的for循环有三种形式,只有其中的一种使用分号。 for init; condition; post { } for conditio 阅读全文
posted @ 2022-06-08 11:30 輪滑少年 阅读(147) 评论(0) 推荐(0) 编辑
流程控制之select
摘要:1 select语句 select语句类似于switch语句,但是select会随机执行一个可运行的case。如果没有case可运行,它将阻塞,直到有case可运行。 select 是GO中的一个控制结构,类似于通信的switch语句。每个case必须是一个通信操作,要么是发送要么是接收。selec 阅读全文
posted @ 2022-06-08 10:54 輪滑少年 阅读(103) 评论(0) 推荐(0) 编辑
流程控制之条件语句switch
摘要:1.1 switch语句 switch语句用于基于不同条件执行不同动作,每一个case分支都是唯一的,从上直下逐一测试,知道匹配为止,Golang switch 分支表达式可以是任意类型,不限于常量。可省略break,默认自动终止。 语法 Go 编程语言中 switch 语句的语法如下: switc 阅读全文
posted @ 2022-06-08 10:08 輪滑少年 阅读(84) 评论(0) 推荐(0) 编辑
流程控制之条件语句if
摘要:1.1 go语言条件语句: 条件语句需要开发者通过指定一个或多个条件,并通过测试条件是否为 true 来决定是否执行指定语句,并在条件为 false 的情况在执行另外的语句。 Go 语言提供了以下几种条件判断语句: 1.1.2 if 语句if 语句由一个不二表达式后紧跟一个或多个语句组成 Go 编程 阅读全文
posted @ 2022-06-08 09:36 輪滑少年 阅读(110) 评论(0) 推荐(0) 编辑
结构体之二
摘要:1.3.14 结构体的匿名字段 结构体允许其成员字段在声明时没有字段名而只有类型,这种没有名字的字段就称为匿名字段。 //Person 结构体Person类型 type Person struct { string int } func main() { p1 := Person{ "pprof.c 阅读全文
posted @ 2022-06-07 23:22 輪滑少年 阅读(31) 评论(0) 推荐(0) 编辑
结构体
摘要:1.结构体 Go语言中没有“类”的概念,也不支持“类”的继承等面向对象的概念。Go语言中通过结构体的内嵌再配合接口比面向对象具有更高的扩展性和灵活性。 1.1 类型别名和自定义类型 1.1.1 自定义类型 在Go语言中有一些基本的数据类型,如string、整型、浮点型、布尔等数据类型,Go语言中可以 阅读全文
posted @ 2022-06-07 23:04 輪滑少年 阅读(69) 评论(0) 推荐(0) 编辑
Map实现原理
摘要:1 什么是map 最通俗的话说Map是一种通过key来获取value的一个数据结构,其底层存储方式为数组,在存储时key不能重复,当key重复时,value进行覆盖,我们通过key进行hash运算(可以简单理解为把key转化为一个整形数字)然后对数组的长度取余,得到key存储在数组的哪个下标位置,最 阅读全文
posted @ 2022-06-07 22:35 輪滑少年 阅读(247) 评论(0) 推荐(0) 编辑
Map
摘要:1. Map map是一种无序的基于Key-value的数据结构,GO语言中的map是引用类型,必须用Make初始化 才能使用 1.1.1 map定义 GO语言中map的定义语法如下 map[KeyType]ValueType 其中, KeyType:表示键的类型。 ValueType:表示键对应的 阅读全文
posted @ 2022-06-07 22:15 輪滑少年 阅读(60) 评论(0) 推荐(0) 编辑
指针
摘要:1.指针 区别于C/C++中的指针,GO语言中的指针不能进行偏移和运算,是安全指针 要搞明白GO语言中的指针需要先知道三个概念:指针地址、指针类型和指针取值 1.1 GO语言中的指针 GO语言中的函数传参都是值拷贝,当我们想要修改某个变量的时候,我们可以创建一个指向该变量地址的指针变量。传递数据使用 阅读全文
posted @ 2022-06-07 22:04 輪滑少年 阅读(58) 评论(0) 推荐(0) 编辑
slice底层实现
摘要:1 切片和数组 关于切片和数组怎么选择???接下来好好讨论讨论这个问题 在go中,与C数组变量隐式作为指针使用不同,Go数组是值类型,赋值和函数传参操作都会复制整个数组数据 func main() { arrayA := [2]int{100, 200} var arrayB [2]int arra 阅读全文
posted @ 2022-05-11 17:15 輪滑少年 阅读(55) 评论(0) 推荐(1) 编辑
切片
摘要:1. 切片Slice 需要说明:slice并不是数组或数组指针。它通过内部指针和相关属性引用数组片段,以实现变长方案. 1. 切片:切片是数组的一个引用,因此切片是引用类型。但自身是结构体,值拷贝传递。 2. 切片的长度可以改变,因此,切片是一个可变的数组。 3. 切片遍历方式和数组一样,可以用le 阅读全文
posted @ 2022-05-06 00:20 輪滑少年 阅读(91) 评论(0) 推荐(0) 编辑
数组Array
摘要:1. 数组Array Golang Array和以往认知的数组有很大不同。 1. 数组:是同一种数据类型的固定长度的序列。 2. 数组定义:var a [len]int,比如:var a [5]int,数组长度必须是常量,且是类型的组成部分。一旦定义, 长度不能变。 3. 长度是数组类型的一部分,因 阅读全文
posted @ 2022-05-04 17:28 輪滑少年 阅读(68) 评论(0) 推荐(0) 编辑
go 基本类型
摘要:1.1. 基本类型介绍 Golang 更明确的数字类型命名,支持 Unicode,支持常用数据结构。 类型长度(字节)默认值说明 bool 1 false byte 1 0 uint8 rune 4 0 Unicode Code Point, int32 int, uint 4或8 0 32 或 6 阅读全文
posted @ 2022-05-04 16:16 輪滑少年 阅读(103) 评论(0) 推荐(0) 编辑
go 变量声明
摘要:1.变量声明 Go语言中的变量需要声明后才能使用,同一作用域内不支持重复声明。并且Go语言的变量声明后必须使用。 1.1 标准声明 var 变量名 变量类型 1.1.1变量声明以关键字var开头,变量类型放在变量的后面,行尾无需分号 var name string var age int var i 阅读全文
posted @ 2022-05-04 15:37 輪滑少年 阅读(201) 评论(0) 推荐(0) 编辑
运算符
摘要:1.运算符 Go 语言内置的运算符有: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 1.1.1. 算数运算符 运算符描述 + 相加 - 相减 * 相乘 / 相除 % 求余 注意: ++(自增)和--(自减)在Go语言中是单独的语句,并不是运算符。 1.1.2. 关系运算符 运算符描述 阅读全文
posted @ 2022-05-04 15:09 輪滑少年 阅读(89) 评论(0) 推荐(0) 编辑
go 相关命令
摘要:假如你已安装了golang环境,你可以在命令行执行go命令查看相关的Go语言命令: $ go Go is a tool for managing Go source code. Usage: go command [arguments] The commands are: build compile 阅读全文
posted @ 2022-05-04 15:06 輪滑少年 阅读(16) 评论(0) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

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