函数
声明格式
123func funcName(param-list)(result-list){ function body}
特点
可以无传入参数和返回值(默认返回0)
123456789func A() { //do something}func A() int { // do something ... return 1}
多个相邻的相同类型的参数可以使用简写模式
123func add(a, b int) int { return a + b}
支持有名...
基础知识常量预声明标识符 iota 用在常量声明中,其初始值为 0。一组多个常量同时声明时其值逐行增加,iota 可以看做是自增枚举变量,专门用来初始化常量。
123456789101112131415161718192021222324252627// 类似枚举的 iotaconst ( c0 = iota // 0 c1 = iota // 1 c3 = iota // 2)//简写const ( c0 = iota // 0 c1 // 1 c2 // 2)//注意 iota 逐行增加const ( a == 1 << iota // 1 ...
包每个 Go 程序都是由包构成的。
程序从 main 包开始运行。
本程序通过导入路径 "fmt" 和 "math/rand" 来使用这两个包。
按照约定,包名与导入路径的最后一个元素一致。例如,"math/rand" 包中的源码均以 package rand 语句开始。
注意: 此程序的运行环境是固定的,因此 rand.Intn 总是会返回相同的数字。 (要得到不同的数字,需为生成器提供不同的种子数,参见rand.Seed。 练习场中的时间为常量,因此你需要用其它的值作为种子数。)
12345678910package mai...
如何贡献开源项目最近看见很多同学遇到这个问题,今天总结下为热爱开源社区并愿意为开源项目贡献的同学提供思路。
那么下面我们简单的聊聊如何贡献开源项目。
贡献之前了解项目在贡献开源项目之前首先你要了解你想要贡献的开源项目,这是必须的,不然容易闹出意想不到的笑话,GitHub本身也是个国际交流的平台,我们作为国人也要谨言慎行,维护我们的良好形象。很多高质量的大项目都有他们的贡献注意事项,一定要仔细查看,特别是当你贡献文档类型的项目时,一定要注意文档的约定和术语表的使用以及格式段落用法。
提高自己的英语水平在 Github 上面,无论是和外国人还是中国人交流,统一使用英语。除非你明确知道这个项目...
浅谈 Linux 内核中的 Namespace 与 Cgroups我是在学习 Docker 的时候接触的这两个概念,这两个内核功能也贯穿整个 Docker 容器的运作。那么我们下面简单的谈一谈这两个概念。本章使用自己开发的donkey runtime 与 docker 同步做对比。
NamespaceNamespace 也叫命名空间,是 Linux kernel 的一个功能,以下简称NS,他可以隔离一系列的系统资源,比如 PID、UserID、Network等。在 Docker 中,NS 更多的用于做系统的隔离,比如让不同的用户只能访问自己的服务,让每个容器在自己的 root 的环境下运...
kubernetes 架构分层架构
核心层:Kubernetes最核心的功能,对外提供API构建高层的应用,对内提供 插件式应用执行环境
应用层:部署(无状态应用、有状态应用、批处理任务、集群应用等)和路 由(服务发现、DNS解析等)
管理层:系统度量(如基础设施、容器和网络的度量),自动化(如自动扩 展、动态Provision等)以及策略管理(RBAC、Quota、PSP、NetworkPolicy 等)
接口层:kubectl命令行工具、客户端SDK以及集群联邦
生态系统:在接口层之上的庞大容器集群管理调度的生态系统,可以划分为
两个范畴 :
Kubernete...
Scraping Primer识别网站builtwith模块
安装
1pip installl builtwith
使用
12345import builtwithprint(builtwith.parse('http://example.webscraping.com'))## 输出结果{'web-servers': ['Nginx'], 'web-frameworks': ['Web2py', 'Twitter Bootstrap'], 'programming-languages': ['Python'], 'javascript-frameworks': ['jQue...
GNOME的简单快捷键
图形界面帮助:F1
活动概述:super
切换工作区:shift+ctrl+alt+↑
运行命令:Alt+F2
锁定桌面:Alt+Ctrl+L
快速重启:Ctrl+Alt+Del
基础命令:123456789101112131415161718192021222324lsblk 查看分区情况ls -l 显示目录详细信息ls -lh 详细显示大小ls -a 显示全部文件(包括隐藏文件)ls -d 查看目录本身属性 建议使用 ls -ldll 等价于ls -lcp -a 复制并保留原有属性(不改变属主和组)cp -r 拷贝跟目录下的mv -f 强制移动(覆盖不提示...
前言
本FAQ基于twang2218大佬Blog的100问制作,用于解决学习Docker出现的常见问题。
Docker 引擎相关问题 (67)概念问题 (5)宿主如果和容器系统不同的话,那不是和虚拟机一样,一层层的调用,那么 Docker 和虚拟机还有什么差别?要把 Windows 和 Linux 分清楚,更要把内核(kernel)和用户空间(userland)分清楚。
容器内的进程是直接运行于宿主内核的,这点和宿主进程一致,只是容器的 userland 不同,容器的 userland 由容器镜像提供,也就是说镜像提供了 rootfs。
假设宿主是 Ubuntu,容器是 CentOS。...
树与二叉树度树中一个节点的子节点个数称为该节点的度,树中节点的最大度数称为树的度。度大于0的节点称为分支节点(又称未终端节点);度为0的节点称为叶子节点。
节点的深度、高度、层次节点层次从树根开始定义,根节点为第一层,他的子节点为第二层,以此类推。
节点深度是从根节点开始从顶向下逐层累加。
节点高度是从叶子节点开始从底向上逐层累加。
树的高度(又称深度)是从树中节点的最大层数。
树的性质
树中的节点数等于所有节点的度数加1.
度为m的树中第i层上至多有$m^{i-1}$个节点
高度为h的m叉树最多有$(m^h-1)/(m-1)$个节点
具有n个节点的m叉树的最小高度为:$\l...