自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

sym的博客

编程学习者

  • 博客(218)
  • 资源 (13)
  • 收藏
  • 关注

原创 Updates were rejected because the tip of your current branch is behind hint: its remote counterpart

在使用git管理代码仓库的时候,有时在使用git push origin common_branch:common_branch提交代码的使用出现如下问题:hint: Updates were rejected because the tip of your current branch is behindhint: its remote counterpart. Integrate the remote changes (e.g.hint: 'git pull ...') before pushin

2021-09-08 23:29:11 2729

原创 mysql table字段自动转gorm的golang struct工具

开源项目:https://github.com/xxjwxc/gormt文档地址:https://github.com/xxjwxc/gormt/blob/master/README_zh_cn.md命令行工具下载地址:https://github.com/xxjwxc/gormt/releases

2021-09-08 22:49:53 881

原创 git hooks约定git commit

使用git管理代码仓库时,各个项目仓库中一般都会有个.git目录,打开发下有个hooks目录,里面有如下图所示的各种.sample文件。约定代码仓库.git/hooks/目录下的文件不会被版本管理,可以根据.sample的范例指定一些规则。新建pre-commit文件,可以在pre-commit中约定代码检查规则。下面的脚本检查待提交的修改内容,如代码静态代码检查是否通过,单元测试是否通过#!/bin/shlintmessage=$(make lint)if [ -n "$lintmess

2021-09-06 21:08:48 285

原创 配置GOPRIVATE引用私有仓库

在使用gomod模式管理golang包的时候,下载开源的公共包还可以,但是一旦使用内部或者私有的包,就可能会出现如下所示的问题:server response: not found: git.xxx.com/xxxxxx/king@v0.6.8: unrecognized import path "git.xxx.com/xxxxxx/king": https fetch: Get "https://git.xxx.com/xxxxxx/king?go-get=1": dial tcp xx.xx.xx.

2021-09-02 13:29:21 10463

转载 go test进行单元测试时,出现undefined方法或者command-line-arguments [build failed]解决方案

【Golang】解决Go test执行单个测试文件提示未定义问题文章来源:https://www.cnblogs.com/Detector/p/10010292.html背景很多人记录过怎么执行Go test单个文件或者单个函数,但是要么对执行单文件用例存在函数或变量引用的场景避而不谈,要么提示调用了其它文件中的模块会报错。其实了解了go test命令的机制之后,这个问题就迎刃而解了。也是一个同事向我求助我才知道有这样一个问题存在,因为场景特殊他只想执行我们的测试代码其中一个文件中的测试代码,因为调

2021-08-26 14:26:41 8483 1

原创 不重启Windows使环境变量快速生效

背景使用Windows在开发过程中,经常会配置或者修改环境变量,为了使环境变量永久生效,就需要重启电脑。但是频繁的重启电脑会影响开发效率,为了在不重启电脑的情况下使环境变量生效,有没有其他方式呢?解决方案在命令行中,使用set命令设置新的环境变量。按Windows图标 + R键,打开cmd 命令行,输入 set 要配置的环境变量名=你要添加或修改的环境路径,如:set GOPATH=D:\Go1.16\gopath即是设置GOPATH的路径为set D:\Go1.16\gopath。使用echo

2021-08-15 12:36:55 6003 2

转载 SwitchHosts一个修改、管理、切换多个hosts 方案的开源工具

Hosts 相关的小工具着实不少,大家需求最多的肯定是 hosts 切换工具了。SwitchHosts! 是一款可以方便你管理和一键切换多个 hosts 方案的免费开源工具,跨平台支持 Windows、macOS 和 Linux 系统。SwitchHosts官网:https://oldj.github.io/SwitchHosts/#cnSwitchHosts特性SwitchHosts 除了可以帮助你快速切换不同的 hosts 设置、编辑 hosts 文件外,它还有着一些很不错的特性,比如:免费

2021-08-12 21:38:50 267

原创 windows下安装vscode配置golang开发环境无法安装go依赖包问题

由于依赖的go包都是外部的,有些在国内无法访问,造成安装失败。Installing github.com/mdempsky/gocode FAILEDInstalling github.com/uudashr/gopkgs/v2/cmd/gopkgs FAILEDInstalling github.com/ramya-rao-a/go-outline FAILEDInstalling github.com/acroca/go-symbols FAILEDInstalling golang.org/

2021-08-12 20:07:15 1518

原创 Ubuntu16.04安装redis6.0

下面是在Ubuntu 16.04.3系统下对redis进行安装的过程,这里redis使用版本为redis-6.0.6。下载redis这里通过wget方式下载redis到/home/当前用户根目录/下,一般下载的文件放在当前用户的根目录下,没有用户根目录,可以在home目录下通过sudo mkdir 用户目录xxx 的方式创建。cd /home mkdir personnelcd personnelsudo wget http://download.redis.io/releases/redi

2021-08-04 14:20:05 588

原创 golang中开发和面试中一些容易忽略知识点

slice切片相关的考察点,主要设计切片扩容机制、切片拷贝、切片初始化、地址传递与值传递等。slice扩容示例程序package mainimport "fmt"import "time"func main() { // 不指定长度切片的扩容 arr0 := make([]int, 0) fmt.Println("arr0:", arr0, "len:", len(arr0), "cap:", cap(arr0)) for i := 0; i < 10; i++ { a

2021-06-23 20:26:15 194 2

原创 办公及开发工具整理——不断更新

开发工具在线编辑器nhOOO.comnhOOO.com支持绝大部分主流变成语言的在线编译,运行,可以快速验证简单功能的代码执行结果。网址:https://www.nhooo.com/tool/该网站还有大量的编程语言学习教程,包括服务端、前端、移动端、数据库等大量教程。支持的前端及json工具:Visual Paradigm OnlineVisual Paradigm Online是一个在线可视化图标与流程图绘等一体化图表软件,支持各种业务和技术图表,如:流程图、ER图、各种图标等。

2021-06-18 09:29:34 135

原创 浅谈数据库中的各种索引

什么是索引索引是一种能提高数据库查询效率的数据结构,使用它可以快速找到要查询的相应记录。索引一般存储在磁盘的文件中,它是占用物理空间的。适当的索引能提高查询效率,但是过多的索引会影响数据库表的插入和更新性能。SQL优化的主要手段是利用索引查找,那为什么用上索引就这么高效?索引种类MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引、哈希索引、二叉树索引、全文索引等等。哈希索引哈希索引,是一种哈希表结构的索引。想理解它,只需要

2021-06-08 22:47:33 259 6

转载 Go 内存管理概述

随着程序的运行,对象被写入内存。在一些特定时刻当它们不再被需要时,它们应该被移除。这个过程被称为 内存管理 。本文旨在给出内存管理的概述,然后深入研究在 Go 中如何使用垃圾收集器实现内存管理。Go 的内存管理近些年已经发生了很大变化,未来很可能还会发生更多变化。如果您正在阅读这篇文章,并且您使用的是比 1.16 更高的 Go 版本,那么这里的一些信息可能已经过时了。内存管理方式手动内存管理在像 C 这样的编程语言中,程序员会调用 malloc 或 calloc 之类的函数来将对象写入内存。这些函数返

2021-06-05 23:03:30 249

原创 面试中几种常见的二分查找问题及解题模板总结

二分查找问题,想必对于开发人员来说都不陌生,但是想要准确而又熟练地写出二分查找及其变形问题的算法代码,对许多人来说,可能并不是一件很容易的事。二分查找几种变形二分查找,又称为⼆分搜索,一般有 以下几种变形题:1. 查找第⼀次出现的等于给定目标值的元素(或元素下标)2. 查找最后一次出现的等于给定目标值的元素(或元素下标)3. 查找第⼀个⼤于等于给定值的元素(或元素下标)4. 查找最后⼀个⼩于等于给定值的元素(或元素下标)5. 查找给定目标值出现的起始和终止元素对应的位置(第1和第2种类型的结合

2021-06-05 17:28:46 443

原创 go与go mod命令使用及遇到的问题

iris版本更新引起的问题在使用golang iris框架进行后端开发时,出现原因:在使用go mod tidy或者go run的时候,默认会下载安装最新版本的包。在go.mod文件中,发现使用的iris是最新的v12.2.0-alpha2测试版,而这个版本的好多东西相比v12.1.8版本,函数的参数,返回值发生了变化,引起其他包也可能出错。module github.com/xxxxxx/huoxinggo 1.13require ( github.com/Joker/jade v1.0

2021-06-01 23:39:17 8783 5

原创 使用BFS广度优先搜索解决常见算法题

剑指 Offer 32 - I. 从上到下打印二叉树题目描述从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。 例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回:[3,9,20,15,7] 提示:节点总数 <= 1000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/cong-shang-da

2021-05-21 18:29:27 167

原创 栈和队列的互相模拟

剑指 Offer 09. 用两个栈实现队列题目描述用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead操作返回 -1 )示例 1:输入:["CQueue","appendTail","deleteHead","deleteHead"][[],[3],[],[]]输出:[null,null,3,-1]示例 2:输入:["CQueu.

2021-05-21 18:27:59 141

原创 golang浅拷贝与深拷贝

浅拷贝golang中通过copy方法,可以实现浅拷贝操作。func copy(dst, src []Type) int基本认识:1.copy只能用于切片,不能用于 map 等任何其他类型。2.copy返回结果为一个 int 型值,表示 copy 从原切片src复制到目的切片的长度。使用注意事项虽然,copy定义很简单,但是使用过程中要特别注意以下几点,否则很容易产生非预期结果。1.切片 dst 需要先初始化长度在使用copy将 src 完全 复制 到 dst 时,需要初始化目的切片ds

2021-04-11 23:19:08 3612 1

原创 gorm默认值不更新问题

问题描述原有数据结构,如下:type AdvConfirm struct { ID int `gorm:"column:id;primary_key" json:"id"` StaffID int `gorm:"column:staff_id" json:"staff_id"` AdvertiserID int `gorm:"column:advertiser_id" json:"advertiser_id"

2021-04-11 14:33:33 10334

原创 回溯算法解题套路总结

概述当问题是要求满足某种性质(约束条件)的所有解或最优解时,往往使用回溯法。它有“通用解题法”之美誉。回溯算法实际上是一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现不满足求解条件时,就撤销上一步操作,进行“回溯”返回,尝试别的路径。回溯算法也叫试探法,它是一种系统地搜索问题的解的方法。回溯法解题套路回溯法,虽然是一种对结果类似枚举的遍历过程,效率可能不太高,但是在其他方法无法解决的时候,它可能就是一种常用的解题思路。回溯法可以解决哪些问题,如何使用它解决问题,有没有解题模

2021-04-05 18:43:10 1301

原创 常见面试算题题中的滑动窗口问题

LeetCode1004. 最大连续1的个数 III题目描述给定一个由若干 0 和 1 组成的数组 A,最多可以将数组A中的 K 个元素的值从 0 变成 1 ,返回仅包含 1 的最长(连续)子数组的长度。示例 1:输入:A = [1,1,1,0,0,0,1,1,1,1,0], K = 2输出:6解释:[1,1,1,0,0,1,1,1,1,1,1]粗体数字从 0 翻转到 1,最长的子数组长度为 6。示例 2:输入:A = [0,0,1,1,0,0,1,1,1,0,1,1,0,0,0,1,1

2021-03-17 23:07:40 520

原创 面试中常见的堆栈问题

借助一个辅助栈对栈中元素排序题目描述一个栈中元素的类型为整形,现在想将该栈从顶到底按从大到小的顺序排序,只许申请一个栈,除此之外,可以申请新的变量,但不能申请额外的数据结构。如何完成排序?解题思路将栈排序的栈记为arr,申请的辅助栈记为res。在待排序栈arr上执行pop操作,弹出的元素记为stackTop。(1)如果stackTop大于或等于res的栈顶元素,则将stackTop直接压入res栈;(2)如果stackTop小于res的栈顶元...

2021-03-17 14:19:16 310

原创 使用快排思想解决算法面试题

快速排序主要思想1. 在数组中选一个元素作为基准(通常选用数组第一个元素作为基准);2. 将数组中小于基准数的数据移到基准数左边,大于基准数的移到右边;3. 对于基准数左、右两边的数组,不断重复以上两个过程,直到每个子集只有一个元素,即为全部有序。代码实现func quickSort(arr []int, begin, end int) { if begin > end { return } base := arr[begin] // 选择基准,一般选择数组首元

2021-03-17 00:03:24 314

原创 常见链表问题

剑指 Offer 18. 删除链表的节点题目描述给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。返回删除后的链表的头节点。示例说明示例 1:输入: head = [4,5,1,9], val = 5输出: [4,1,9]解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.示例 2:输入: head = [4,5,1,9], val = 1输出: [4,5,9]解释: 给定你链表中值为 1 的第三个

2021-03-14 13:13:47 231

原创 双指针解决数组链表问题

使用双指针解决数组问题剑指 Offer 21. 调整数组顺序使奇数位于偶数前面题目描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。示例输入:nums =[1,2,3,4]输出:[1,3,2,4]注:[3,1,2,4] 也是正确的答案之一。提示:0 <= nums.length <= 500001 <= nums[i] <= 10000来源:力扣(Leet...

2021-03-10 23:55:42 234

原创 计算机网络常见面试题

常见状态码1xx1xx 类状态码属于提示信息,是协议处理中的一种中间状态,实际用到的比较少。2xx2xx 类状态码表示服务器成功处理了客户端的请求。「200 OK」是最常见的成功状态码,表示一切正常。如果是非 HEAD 请求,服务器返回的响应头都会有 body 数据。「204 No Content」也是常见的成功状态码,与 200 OK 基本相同,但响应头没有 body 数据。「206 Partial Content」是应用于 HTTP 分块下载或断点续传,表示响应返回的 bod

2021-03-02 21:53:27 261 5

原创 vscode无法连接扩展市场问题

在使用vscode打开扩展市场安装插件的时候,发现下面的问题。令人好奇的是之前还是好好的,怎么突然又不能使用了呢?打开vscode的 File -> Perferences -> Settings,在User -> Features -> Extensions,在Application -> Proxy中发现,http_proxy代理设置的是https://goproxy.cn,direct,这时候想起来:由于之前配置go环境时,国外的一些包总是安装不上,就将代理配置

2021-02-25 22:13:19 10564 11

原创 windows环境中,vscode命令行输入命令无法识别问题

在Windows环境中,进行golang程序的开发,配置好go环境变量后,使用vscode编辑器开发、调试golang程序过程中,发现使用vscode的命令行终端无法识别环境变量参数。查阅资料,发现大多写的都是设置vscode为“以管理员”身份运行此程序“,或者卸载重装重启等方式。如:鼠标右击VSCode图标,打开属性,点击兼容性,勾选以管理员身份运行此程序,应用,确定,重新打开VSCode,问题就解决了。然而,这些方式并不能解决所有的问题,或者根本无法解决。vscode终端三种shel

2021-02-24 22:08:09 9835

转载 分布式系统服务注册与发现概念和原理

在微服务架构或分布式环境下,服务注册与发现技术不可或缺,这也是程序员进阶之路必须要掌握的核心技术之一,本文通过图解的方式带领大家轻轻松松掌握。引入服务注册与发现组件的原因先来看一个问题,假如现在我们要做一个商城项目,作为架构师的你应该怎样设计系统的架构?你心里肯定在想:这还不容易直接照搬淘宝的架构不就行了。但在现实的创业环境中一个项目可能是九死一生,如果一开始投入巨大的人力和财力,一旦项目失败损失就很大。作为一位有经验的架构师需要结合公司财力、人力投入预算等现状选择最适合眼下的架构才是王道。

2021-02-19 21:56:37 1014

原创 深入理解defer内存分配及执行过程

defer性能go 1.13 正式版本的发布提升了 defer 的性能,号称针对 defer 场景提升了 30% 的性能。This release improves performance of most uses of defer by 30%.go 1.13 之前只有 defer 语句只会被编译器翻译成两个过程:1. 回调注册函数过程:deferproc2. 执行回调函数链过程:deferreturngo 1.13 带来的 deferprocStack 函数,这个函数就是这个 30% 性

2021-02-18 18:32:09 944

原创 二叉树的前序、中序、后序递归及非递归遍历、层次遍历

二叉树的组成与定义一棵二叉树由根结点、左子树和右子树三部分组成。前序、中序、后续遍历次序若使用D、L、R 分别标识根结点、左子树、右子树,则二叉树的遍历方式有 6 种:DLR、DRL、LDR、LRD、RDL、RLD。由于先遍历左子树和先遍历右子树在算法设计上没有本质区别,所以,只讨论三种方式:DLR--前序遍历(根在前,从左往右,一棵树的根永远在左子树前面,左子树又永远在右子树前面 );LDR--中序遍历(根在中,从左往右,一棵树的左子树永远在根前面,根永远在右子树前面);LRD--后序遍历(根

2021-02-03 22:57:50 956

原创 gofmt格式化golang代码

格式化单文件: gofmt -l -w test.go格式化整个工程:gofmt -l -w $GOPATH/go_project

2020-11-23 10:53:04 857

原创 go micro微服务资料

微服务从入门到实践下面的内容主要汇总自【学院君】,这些文章条例清晰、步骤详细、明白易懂,在这里学到了之前浅尝辄止、不求甚解的东西,非常感谢!概念篇(免费)开篇:什么是微服务架构微服务架构总体实现概述(总体框架图、一次完整的调用链路以及涉及到的组件)微服务架构的优缺点和适用场景(适用于复杂系统,但也不是银弹,提高了系统的复杂度)服务拆分的维度和拆分前的技术保障框架篇(免费)Go Micro 框架初探及底层架构(微服务框架选型)基于 Go Micro 构建第一个微服务接口(新手建议跳过看下一篇

2020-10-28 21:26:45 326

转载 微服务简述

go micro简介微服务架构服务注册发现原理服务的注册发现是将所有服务注册到ETCD、Consul等注册中心,通过注册中心提供可用的服务列表,让各个服务之间知道彼此的状态与地址。比如客户端可以向注册中心发起查询,来获取服务的位置。下面均以consul为例,说明原理。服务注册与发现过程:当User Service启动的时候,会向consul发送一个POST请求,告诉consul自己的IP和Port;consul 接收到User Service的注册后,每隔10s(默认)会向User Se

2020-10-13 18:50:46 675

原创 使用golang如何获取IP地址

前言在项目开发过程中,用户ip是很重要的一个分析指标。通过分析用户的ip来快速定位用户的请求日志,甚至是操作记录,还可以通过ip访问频率来进行防盗链处理。一般获取ip的方式是通过Header中的X-Forward-For、X-Real-IP或Remote addr等属性获取,但是如果确保获取到的ip是真实的用户ip呢?概念Remote Address是nginx与客户端进行TCP连接过程...

2020-10-12 21:58:53 3507

原创 配置中心ETCD搭建与简单使用

1 ETCD配置1.1 Ubuntu安装ETCD以下配置均在Ubuntu16.04系统中。(1)使用wget命令对ETCD进行安装wget https://github.com/etcd-io/etcd/releases/download/v3.3.10/etcd-v3.3.10-linux-amd64.tar.gz(2)下载后,解压并移动在指定目录tar zxvf etcd-v3.3.10-linux-amd64.tar.gzmv etcd-v3.3.10-linux-amd64 /opt

2020-09-29 13:36:34 28670

翻译 golang数据竞态

Golang以构建高并发容易、性能优异而闻名。但是,伴随着并发的使用,可能发生可怕的数据争用data race问题。而一旦遇到data race问题,由于其不知道什么时候发生,这将会是难以发现和调试的错误之一。数据竟态示例下面是一个发生数据竟态的示例:func main() { fmt.Println(getNumber())}func getNumber() int { var i int go func() { i = 5 }() return i}在上面的示例中,g

2020-09-25 09:50:47 639

原创 MongoDB更新操作

目录一、文件更新操作 11、inc12、inc 12、inc12、mul 13、rename24、rename 24、rename24、setOnInsert 45、set46、set 46、set46、unset 57、min,min,min,max 58、currentDate6二、数组更新操作71、currentDate 6二、数组更新操作 71、currentDate6二、数组更新操作71、 72、addToSet83、addToSet 83、addToSet83、pop

2020-08-30 21:55:14 778

原创 golang静态代码检查配置与常见格式异常

go环境配置下载go1.13版本,通过命令解压到/usr/local目录下,并设置环境变量:sudo tar -zxvf go1.13.9.linux-amd64.tar.gz -C /usr/local/Ubuntu_20200618虚拟机环境变量如下,通过gedit ~/.bashrc命令打开并编辑:export GOROOT=/usr/local/go # install dictoryexport GOPATH=/home/sym

2020-07-12 22:50:25 8979

原创 LeetCode二叉树层次遍历套路

102. 二叉树的层次遍历题目来源:https://leetcode-cn.com/problems/binary-tree-level-order-traversal/难易程度:中等题目描述给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。例如:给定二叉树: [3,9,20,null,null,15,7],3/ 9 20/ 15 7...

2020-03-12 21:59:21 343

达梦数据库连接管理&数据迁移工具

达梦数据库可视化连接工具、DM管理工具、DTS数据迁移工具等。使用该工具可以连接管理达梦数据库、调试达梦增删查改等SQL语句、存储过程,迁移mysql、oracle、dm等数据库上的数据到达梦数据库里面。

2023-03-13

《快学Scala》中文版带目录

随着大数据上升为国家战略,现在各大公司都开始进军大数据行业。而在大数据生态中,Spark占据着举足轻重的地位,Scala作为Spark的基础自然是不可避免要学习的。由于Scala语法有些“古怪”,入门相对不是那么容易,所以选择好的资料就显得尤为重要。《快学Scala》的作者是国际畅销书《Java核心技术》的主要作者,作者基于完全实用的角度给出了学习Scala的快速、基于代码的入门指南!

2018-01-17

python核心编程 第二版 源代码

本书是经典的Python指导书,在第一版的基础上进行了全面升级。全书分为两个部分:第1部分占据了大约三分之二的篇幅,阐释这门语言的“核心”内容;第2部分则提供了各种高级主题来展示可以使用Python做些什么等

2017-10-25

李兴华JavaSE课程笔记

李兴华老师的Java课程,视频讲的很精彩,笔记重要点标记很清晰、内容讲解通俗易懂、衔接自然,对一本初学者和有一定基础的Java学习者是一本好资料。

2017-09-24

Java开发实战经典-李兴华

李兴华老师的Java开发实战经典,视频讲的很精彩,笔记重要点标记很清晰、内容讲解通俗易懂、衔接自然,对一本初学者和有一定基础的Java学习者是一本好资料。

2017-09-24

XPath简明教程

总结出的xpath一些经常使用的方法,技巧

2017-05-05

Git_2.12_64bit

Git_2.12_64bit for windows

2017-04-24

win32api-amd64-py2.7

在Windows64位下安装Python的某些32位的模块时,有时会出现缺少win32api。该版被 win32api for python2.7 适用于Python2.7环境。

2017-04-24

MySQL-python-1.2.3.win-amd64-py2.7

2017-02-21

电脑常用功能

主要有电脑的常用快捷键,常用功能的使用等

2014-07-07

单片机实现周期脉冲宽度测量

本程序实现的是通过按键的选择来实现测量周期,还是测量脉冲宽度,通过LCD显示结果。

2014-06-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除