Golang 排序

Jackey Golang 2,878 次浏览 0 评论 ,
冒泡排序 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排...

Golang 约瑟夫问题

Jackey Golang 2,516 次浏览 0 评论
约瑟夫(Josephu)问题 设编号为1,2,3,...... n的n个人围坐一圈,约定编号为k(1<=k<=n)的人从1开始报数,数到m的那个人出列,他的下一位又从1开始报数,数到m的那个人又出列,依次类推,直到所有人出...

Golang 链表

Jackey Golang 2,785 次浏览 1 评论 ,
链表的定义 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结...

Golang 数组模拟队列

Jackey Golang 2,653 次浏览 0 评论 ,
结构体定义 type Queue struct { maxSize int // 队列的最大长度 array []int // 存放队列数组 head int // 指向队列队首 默认值 0 tail int // 指向队列队尾 默认值 0 } 分析: 什么时候队...

Golang 稀疏数组

Jackey Golang 2,986 次浏览 0 评论 ,
实际需求 编写的五子棋程序中,有存盘退出和续上盘的功能 如果按照原始的方式来存储二维数组,因为该二维数组很多值是默认值0,因此记录了很多没有意义的数据。 基本介绍 当一个数组中大部分元素为0,...

go-redis 连接池

Jackey Golang 6,263 次浏览 0 评论 ,
// 定义redis链接池 var client *redis.Client // 初始化redis链接池 func init() { db, err := beego.AppConfig.Int("redisDB") if err != nil { logs.Error("redis-db", err) } client =...

Golang 反射

Jackey Golang 2,693 次浏览 0 评论 ,
基本介绍 反射可以在运行时动态获取变量的各种信息,比如变量的类型(type),类别(kind) 如果是结构体变量,还可以获取到结构体本身的信息(包括结构体的字段,方法) 通过反射,可以改变变量的值...

Golang channel

Jackey Golang 2,010 次浏览 0 评论 ,
基本介绍 channel本质就是一个数据结构-队列 数据是先进先出(FIFO: first in first out) 线程安全,多goroutine访问时,不需要加锁,也就是说,channel本身就是线程安全的 channel有类型,一个st...

Golang goroutine的调度模型

Jackey Golang 2,903 次浏览 0 评论 ,
基本介绍 M:操作系统的主线程(是物理线程) P:协程执行需要的上下文 G:协程 MPG模式运行的状态1 当前程序有三个M,如果三个M都在一个CPU上运行,就是并发,如果在不同的CPU上运行,就...

Golang goroutine

Jackey Golang 1,621 次浏览 0 评论 ,
进程和线程介绍 进程就是程序在操作系统中的一次执行过程,是系统进行资源分配和调度的基本单位。 线程是进程中的一个执行实例,是程序执行的最小单元,它是比进程更小的能独立运行的基本单位。 一个...

Golang 命令行参数

Jackey Golang 3,332 次浏览 1 评论
test.go package main import ( "fmt" "os" ) func main() { fmt.Println("命令行参数有:", len(os.Args)) for i, v := range os.Args { fmt.Printf("args[%v]=%v\n", i, v) } ...

Golang 文件操作

Jackey Golang 2,755 次浏览 5 评论 ,
读取文件(带缓冲区) readFile.go package main import ( "bufio" "fmt" "io" "os" ) func main() { // 打开文件 file, err := os.Open("/Users/jackey/Downloads/3.txt") if err...

Golang 类型断言

Jackey Golang 2,676 次浏览 0 评论 ,
示例 assert.go package main import "fmt" type Point struct { x int y int } func main() { var a interface{} var point Point = Point{1, 2} a = point var b Point b = ...

Golang 1.14 新特性整理

Jackey Golang 13,592 次浏览 0 评论
go mod modfile 引入 练习 目录结构: common |-go.mod mod1 |-demo14mod |-go.mod |-main.go 代码 common/go.mod module demo14mod go 1.13 require github.com/pkg/errors v0.9.1 mo...

Golang 接口

Jackey Golang 2,795 次浏览 0 评论 ,
package main import "fmt" // 定义一个接口 type Usb interface { // 声明两个没有实现的方法 Start() Stop() } type Phone struct { } // 让Phone 实现Usb接口的方法 func (p Phone...
Go