golang数据结构篇之栈和队列以及简单标准库

数据结构篇

//创建栈
stack := make([]int, 0)
//push压入栈
stack = append(stack, 10)
//pop弹出
v := stack[len(stack)-1]
stack = stack[:len(stack)-1]
//检查栈空
len(stack) == 0

队列

//创建队列
queue := make([]int, 0)
//enqueue入队
queue = append(queue, 10)
//dequeue出队
v := queue[0]
queue = queue[1:]
//检查队列为空
len(queue) == 0

sort

// int排序
sort.Ints([]int{
    
    })
// 字符串排序
sort.Strings([]string{
    
    })
// 自定义排序
sort.Slice(s,func(i,j int)bool{
    
    return s[i]<s[j]})

math

// int32 最大最小值
math.MaxInt32 // 实际值:1<<31-1
math.MinInt32 // 实际值:-1<<31
// int64 最大最小值(int默认是int64)
math.MaxInt64
math.MinInt64

copy

// 删除a[i],可以用 copy 将i+1到末尾的值覆盖到i,然后末尾-1
copy(a[i:],a[i+1:])
a=a[:len(a)-1]

// make创建长度,则通过索引赋值
a:=make([]int,n)
a[n]=x
// make长度为0,则通过append()赋值
a:=make([]int,0)
a=append(a,x)

类型转换

// byte转数字
s := "12345"                        // s[0] 类型是byte
num := int(s[0] - '0')              // 1
str := string(s[0])                 // "1"
b := byte(num + '0')                // '1'
fmt.Printf("%d%s%c\n", num, str, b) // 111

// 字符串转数字
num, _ := strconv.Atoi("123")

//数字转字符串
str := strconv.Itoa(123)

猜你喜欢

转载自blog.csdn.net/qq_42956653/article/details/121482994