单双向链表示例代码:container/list标准库实现package main
import (
"container/list"
"fmt"
)
func TraversList(lst *list.List) {
head := lst.Front()
for head.Next() != nil {
fmt.Printf("%v ", head.Value)
head
转载
2023-07-17 17:39:34
9阅读
HashMap和HashTable都是使用Hash函数实现的,任何一种散列函数都会出现冲突。 一、哈希表的概念及作用
一般的线性表,树中,记录在结构中的相对位置是随机的,即和记录的关键字之间不存在确定的关系,因此,在结构中查找记录时需进行一系列和关键字的比较。这一类查找方法建立在“比较“的基础上,查找的效率依赖于查找过程中所进行的比较次数。
理想的情况是能直接找到需要的记录,因
目录1、基础函数示例一示例二示例三2、函数参数值传递引用传递函数的可变参数3、函数作为实参4、回调函数5、函数闭包6、函数方法示例----求圆面积函数是基本的代码块,用于执行一个任务。Go程序中最少有个main()函数。可以通过函数来划分不同功能,逻辑上每个函数执行的是指定的任务。函数声明告诉了编译器函数的名称,返回类型,和参数。Go中的标准库提供了多种可动用的内置的函数。例如,len()函数可以
转载
2023-08-18 18:10:00
74阅读
文章目录三、运算符(一)、算术运算符(二)、关系运算符(三)、逻辑运算符(四)、位运算符(五)、赋值运算符(六)、其他运算符(七)、运算符优先级四、条件语句(一)、if语句(二)、if...else语句(三)、if嵌套语句(四)、switch语句(五)、select语句五、循环语句(一)、for循环(二)、break语句(三)、continue语句(四)、goto语句 三、运算符Go语言的语言运
转载
2023-07-12 00:06:05
53阅读
2、Go并发Go语言的并发模型是CSP(Communicating Sequential Processes),提倡通过通信共享内存而不是通过共享内存而实现通信。如果说goroutine是Go程序并发的执行体,channel就是它们之间的连接。channel是可以让一个goroutine发送特定值到另一个goroutine的通信机制。Go 语言中的通道(channel)是一种特殊的类型。通道像一个
转载
2024-05-31 13:21:13
39阅读
实现流程: ①把input输入的字符串进行拆分,变成一个一个单词,要设计词法分析器,大部分都设计相关的词法分析器。parser。它会不断读取每一个字符,然后生成对应的一个个词元。 我们将词元和词法分析器,分别用两个结构体表示出来。type Token struct {
Type string //对应我们上面的词元类型
Literal string // 实际的string字符
}
typ
转载
2023-08-08 13:43:41
128阅读
文章目录1. go语言概述1.1 golang的语言特点1.2 go语言适合做什么1.4 go语言学习资料参考1.4.1 网络资料1.4.2 推荐书籍2. go程序是怎么运行起来的?2.1 GO语言的开发环境2.2 GOPATH 简单说明2.3 go语言标准命令概述2.4 第一个go语言程序 1. go语言概述Go语言是在2009年11月10日 由Google开源的一门编程语言.号称是"21世纪
转载
2023-10-08 15:49:48
119阅读
哈希与加密解密一、哈希函数1、概念哈希,英文叫做hash哈希函数(hash function)可以把任意长度的数据(字符串)计算出一个固定长度的结果数据。我们习惯把要计算的数据称之为源数据,计算后的数据结果称之为哈希值(hash value)有好几种常用哈希函数,对应不同的算法,常见的有MD5,SHA1,SHA224,SHA384,SHA5122、特点相同的源数据,采用相同的哈希算法,计算出来的哈
转载
2023-12-14 09:31:52
34阅读
1.1 Go语言函数概况每一个程序都包含很多的函数:函数是基本的代码块。Go 里面有三种类型的函数:普通的带有名字的函数匿名函数或者lambda函数方法除了main()、init()函数外,其它所有类型的函数都可以有参数与返回值。函数参数、返回值以及它们的类型被统称为函数签名。为了对Go语言中的函数有一个基本的认识,我们来看如下的例程:package main
func main() {
转载
2023-07-12 00:41:51
59阅读
package main
import (
"fmt"
)
// go语言的切片与范围Range与map
// go语言的切片是对数组的抽象,所以切片就可认为是动态数组
// go语言中的数组长度不可变,但是切片比较灵活,长度不固定,可以追加元素,追加元素后切片容量增大
// go语言中的range关键字用于for循环中迭代遍历数组array、切片slice、链表channel和集合ma
package mainimport ( "fmt" "github.com/garyburd/redigo/redis")func main() { c, err := redis.Dial("tcp", "127.0.0.1:6379") if err != nil { fmt.Println("Connect to redis error", err) return } defer c.Close() _, err = c.Do("HSET", "user01", ".
原创
2022-01-19 10:23:17
169阅读
package mainimport ( "fmt" "github.com/garyburd/redigo/redis")func main() { c, err := redis.Dial("tcp", "127.0.0.1:6379") if err != nil { fmt.Println("Connect to redis error", err) return } defer c.Close() _, err = c.Do("HSET", "user01", ".
原创
2021-02-02 21:49:12
298阅读
# go语言 string list hash的区别
## 引言
在Go语言开发中,我们常常会使用字符串、列表和哈希等数据结构。然而,对于刚入行的开发者来说,可能对这些概念和用法还不够清楚。本文将介绍Go语言中字符串、列表和哈希的区别,并给出相应的代码示例来帮助读者更好地理解。
## 流程概述
首先,让我们来看一下整个实现过程的流程概述。下表展示了实现"Go语言 string list h
原创
2024-01-23 07:29:01
26阅读
Hi,大家好,我是明哥。在自己学习 Golang 的这段时间里,我写了详细的学习笔记放在我的个人微信公众号 《Go编程时光》,对于 Go 语言,我也算是个初学者,因此写的东西应该会比较适合刚接触的同学,如果你也是刚学习 Go 语言,不防关注一下,一起学习,一起成长。我的 Github:github.com/iswbm/GolangCodingTime每个语言都有自己特色的编码规范,学习该语言的命名
运算符用于在程序运行时执行数学或逻辑运算。一、运算符Go 语言内置的运算符有: 1. 算术运算符 2. 关系运算符 3. 逻辑运算符 4. 位运算符 5. 赋值运算符1.1 算数运算符运算符描述+相加-相减*相乘/相除%求余++自增--自减示例:package main
import "fmt"
func main() {
//算数运算符
n1 := 4
n2 := 2
转载
2024-09-13 14:37:04
40阅读
# 边缘计算 go语言实现指南
## 引言
边缘计算是一种将计算资源和数据存储分布在离用户较近的位置的计算模型。在边缘计算中,计算任务可以在离用户或数据源更近的设备上执行,从而减少延迟并提高性能。Go语言是一种强大的编程语言,适用于构建高性能和可扩展的边缘计算应用程序。本文将向你介绍如何使用Go语言实现边缘计算。
## 流程图
```mermaid
flowchart TD
A[准备开
原创
2023-08-18 05:08:05
325阅读
# Go语言中的时间计算
Go语言是一种简洁且高效的编程语言,受到开发者们的广泛喜爱。在处理与时间和日期相关的任务时,Go提供了强大的内置工具。本文将深入探讨Go语言中的时间计算,重点介绍如何获取当前时间、计时、时间格式化以及时间间隔的计算,同时附上示例代码。
### 当前时间的获取
在Go中,可以使用`time`包来获取当前时间。下面是一个简单的示例:
```go
package mai
原创
2024-10-03 07:10:29
55阅读
作者:浮x尘 :模板什么是模板?官方定义:Package template implements data-driven templates for generating textual output.template 包是数据驱动的文本输出模板,其实就是在写好的模板中填充数据。下面是一个简单的模板示例:// 模板定义
tepl := "My name is {{ . }}"
// 解析模板
t
转载
2023-12-31 16:44:25
132阅读
1. 通过Golang的国内网站 https://golang.google.cn/dl/ 下载Go SDK,选择安装到D:\Go(安装路径不能有空格),安装后会默认设置GOROOT等环境变量。 2. 从https://www.jetbrains.com/go/download/other.html下载go开发工具goland,选择2019.3.4版本,并安装到D:\Go\goland  
转载
2023-09-20 10:40:22
104阅读
文章目录1:什么是指针2:指针的声明3: 指针的零值4:指针的解引用5:向函数传递指针参数6:不要向函数传递数组的指针,而应该使用切片 1:什么是指针指针是一种存储变量内存地址(Memory Address)的变量a:0x101101124
b:156 ;addrese - 0x101101124变量 b 的值为 156,而 b 的内存地址为 0x1040a124。变量 a 存储了 b 的地址。
转载
2023-09-26 15:47:58
67阅读