首页 > TAG信息列表 > NIL

二叉树序列化反序列化

Golang代码 package main import ( "fmt" "strconv" "strings" ) type Treenode struct { Val int Left, Right *Treenode } func Serialization(node *Treenode) string { if node == nil { return "nil" } tmp

Golang Gin实践 连载十二 生成二维码

前言 本章节将实现如下功能: 生成二维码 合并海报(背景图+二维码) 实现 首先,你需要在 App 配置项中增加二维码及其海报的存储路径,我们约定配置项名称为 QrCodeSavePath,值为 qrcode/ 生成二维码 安装:go get -u github.com/boombuler/barcode 工具包 考虑生成二维码这一动作贴合工具

Golang Gin实践 连载十一 实现导出、导入 Excel

前言 在本节,我们将实现对标签信息的导出、导入功能,这是很标配功能了,希望你掌握基础的使用方式 另外在本文我们使用了 2 个 Excel 的包,excelize 最初的 XML 格式文件的一些结构,是通过 tealeg/xlsx 格式文件结构演化而来的,因此特意在此都展示了,你可以根据自己的场景和喜爱去使用 配

解决循环引用 swift

1、weak也是我们OC中的一种解决循环引用的方式,在Swift中使用weak修饰的实例变量默认为可选类型,所以在使用weak后p对象会成为可选类型,在使用的时候需要使用?或者!   func test() { var p = Person() p.myClourse = { [weak p] in p?.age += 1 } }   2、un

parca 对于frostdb 的使用简单说明

parca 使用badger 存储元数据,使用frostdb 列存,存储采样数据 简单集成使用说明 frostdb 官方文档提供了一些简单的集成demo,值得学习参考 参考代码pkg/parca/parca.go ,pkg/scrape/manager.go,pkg/scrape/scrape.go 如果需要开启持久化的就需要使用对象存储了,frostdb 支持对象存储进

重温Go语法笔记 | 容器

容器 数组的声明 // 初始化声明 q := [...]int{1,2,3} // 仅声明 var a [3]int 切片 切片的概念 对数组连续片段的引用 // 根据数组生成切片 var a = [3] int {1,2,3} fmt.Println(a[1:2]) // 初始化声明切片 a := []int{1,2,3} // 直接声明一个新的切片 var strList [

mindxdl--common--type.go

// Copyright (c) 2021. Huawei Technologies Co., Ltd. All rights reserved.// Package common this file for time formatpackage commonimport ( "database/sql/driver" "fmt" "time")const timeFormat = "2006-01-02 15:04:05&

mindxdl--common--utils.go

// Copyright (c) 2021. Huawei Technologies Co., Ltd. All rights reserved.// Package common define common utilspackage commonimport ( "errors" "net/http" "strconv")// ConvertToUint64 convert string to uint64func Convert

mindxdl--common--web_cert_utils.go

// Copyright (c) 2021. Huawei Technologies Co., Ltd. All rights reserved.// Package common this file define WebCertUtilpackage commonimport ( "crypto/tls" "crypto/x509" "encoding/pem" "errors" "fmt&qu

client-go开发自定义operator

开发operator一共分为5步骤 一、创建config config的创建有两种方式 1、clientcmd.BuildConfigFromFlags config, err := clientcmd.BuildConfigFromFlags("", clientcmd.RecommendedHomeFile) if err != nil { //访问集群内 inClusterConfig, err := rest.InClusterConfig(

[Go] Error

package main import ( "errors" "fmt" "strings" ) func shouldGreaterThanTen(num int) error { if num < 10 { return errors.New("Number is less than 10") } return nil // should return nil if no error } fu

K8S源码之deltafifo

1、获取key的地方 func MetaNamespaceKeyFunc(obj interface{}) (string, error) { if key, ok := obj.(ExplicitKey); ok { return string(key), nil } meta, err := meta.Accessor(obj) if err != nil { return "", fmt.Errorf("object has no meta: %v&q

Go 网络编程

互联网协议 前言 现在我们几乎每天都在使用互联网,我们前面已经学习了如何编写Go语言程序,但是如何才能让我们的程序通过网络互相通信呢?本章我们就一起来学习下Go语言中的网络编程。 关于网络编程其实是一个很庞大的领域,本文只是简单的演示了如何使用net包进行TCP和UDP通信。如需了

Xcode断点调试的值均为nil,控制台打印却有值

SDK调试 Xcode断点发现断点下的局部变量的值均为nil,无法调试,而NSLog打印控制台是有值的 po xxx 提示errored out in DoExecute,couldn't PrepareToExecuteJITExpression 问题原因: 因为优化包大小时没注意,Optimization Level Debug和Release均设置为Fastest了 解决办法: Op

GO简单包一下缓存

  ICacheQueryBase type ICacheQueryBase interface { GetCacheKey() string }   CacheMiddleware package entity_cache import ( "encoding/json" "errors" "github.com/coocood/freecache" "reflect" ) ty

Go语言实现分布式对象存储系统

实现一个可扩展的,简易的,分布式对象存储系统 存储系统介绍 先谈谈传统的网络存储,传统的网络存储主要分为两类: NAS,即Newtwork Attached Storage,是一个提供了存储功能和文件系统的网络服务器,客户端可以访问NAS上的文件系统,可以上传和下载文件,NAS客户端和服务端之间使用的协议有SMB、

golang执行linux (2)

目录 [−] 执行命令并获得输出结果 将stdout和stderr分别处理 命令执行过程中获得输出 命令执行过程中获得输出2 命令执行过程中获得输出3 改变执行程序的环境(environment) 预先检查程序是否存在 管道 管道2 原文: Advanced command execution in Go with os

golang执行linux

func copyAndCapture(w io.Writer, r io.Reader) ([]byte, error) { var out []byte buf := make([]byte, 1024, 1024) for { n, err := r.Read(buf[:]) if n > 0 { d := buf[:n] out = append(out, d...)

go语言使用kafka

Golang 语言中 kafka 客户端库 sarama 01 介绍 Apache Kafka 是一款开源的消息引擎系统。它在项目中的作用主要是削峰填谷和解耦。本文我们只介绍 Apache Kafka 的 Golang 客户端库 Sarama。Sarama 是 MIT 许可的 Apache Kafka 0.8 及更高版本的 Golang 客户端库。 如果读者朋友对

golang执行shell命令

golang调用shell命令(实时输出, 终止等) 背景 是这样的,最近在研究一个定时任务系统的改造,可能有点像jenkins做到的那种吧。​可以输入shell命令,也可以执行py脚本等等,相比之前来说,也要能够及时停止!​但是遇到了这么个问题,golang执行py脚本的时候获取不到脚本的输出。 1首先来看看go

[LC1161]最大层内元素和

题目概述 给你一个二叉树的根节点 root。设根节点位于二叉树的第 1 层,而根节点的子节点位于第 2 层,依此类推。 请返回层内元素之和 最大 的那几层(可能只有一层)的层号,并返回其中 最小 的那个。 来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/maximum-level-sum-of-a-binary

multiplexer

package meshimport ( "fmt" "io" "net" "strconv" "strings")type Listener interface { io.Closer Accept() (io.ReadWriteCloser, net.Addr, error)}type tcpListener struct { net.Listener}func (t *

彻底搞懂kubernetes调度框架与插件

调度框架 [1] 本文基于 kubernetes 1.24 进行分析 调度框架(Scheduling Framework)是Kubernetes 的调度器 kube-scheduler 设计的的可插拔架构,将插件(调度算法)嵌入到调度上下文的每个扩展点中,并编译为 kube-scheduler 在 kube-scheduler 1.22 之后,在 pkg/scheduler/framework/interfa

minio API demo

package mainimport ( "context" "fmt" "github.com/minio/minio-go/v7" "github.com/minio/minio-go/v7/pkg/credentials" "log")func main() { endpoint := "127.0.0.1:9000" accessKeyID := &q

[LC814]二叉树剪枝

题目 题目地址 分析 这道题符合递归的性质,对于当前的节点node,当且仅当其左右孩子都为不包含1的子树,且node.val=1时,node所在的子树才符合“不包含1的子树”这一定义。那么很自然的,我们可以采取树的后序处理,递归的处理上述条件,具体代码如下。 代码 Golang代码 /* * @lc app=leetc