go 切片练习
下列程序输出什么?
package main import "fmt" func main() {
var sa = make([]string, 5, 10)
for i := 0; i < 10; i++ {
sa = append(sa, fmt.Sprintf("%v", i))
}
fmt.Println(sa)
fmt.Printf("sa长度= %d sa 容量=%d \n", len(sa), cap(sa))
} /*
[ 0 1 2 3 4 5 6 7 8 9]
sa长度= 15 sa 容量=20
*/
package main import (
"fmt"
"sort"
) func sortTest() {
a := [...]int{, , , , , }
sort.Ints(a[:])
fmt.Println("a:", a) var b []string = []string{"ac", "ec", "be", "fa", "ii"}
sort.Strings(b[:])
fmt.Println("b:", b) var c []float64 = []float64{29.38, 22.32, 0.8, 99191.2}
sort.Float64s(c[:]) fmt.Println("c:", c) }
func main() {
sortTest()
}
3. 实现一个密码生成工 具,具持以下功能:
a) 用户可以通过-l指定生成密码的长度
b) 用户可以通过-t指定生成密码的字符集,比如
-t num生成全数字的密码
-t char 生成包含全英文字符的密码,
-t mix包含成数字和英文的密码,
-t advance 生成包含数字、英文以及特殊字符的密码
package main import (
"flag"
"fmt"
"math/rand"
) var (
length int
charset string
) const (
NumStr = ""
CharStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
SpecStr = "+=-@#~,.[]()!%^*$"
) func parseCommand() {
flag.IntVar(&length, "l", , "-l 生成密码的长度")
flag.StringVar(&charset, "t", "num",
`-t 制定密码生成的字符集,
num:只使用数字[-],
char:只使用英文字母[a-zA-Z],
mix: 使用数字和字母,
advance:使用数字、字母以及特殊字符`)
flag.Parse()
} func getPwd() string {
var pwd []byte = make([]byte, length, length)
var sourceStr string
if charset == "num" {
sourceStr = NumStr
} else if charset == "char" {
sourceStr = CharStr
} else if charset == "mix" {
sourceStr = fmt.Sprintf("%s%s", NumStr, CharStr) } else if charset == "advance" {
sourceStr = fmt.Sprintf("%s%s%s", NumStr, CharStr, SpecStr)
} else {
sourceStr = NumStr
} for i := ; i < length; i++ {
index := rand.Intn(len(sourceStr))
pwd[i] = sourceStr[index]
}
fmt.Println(string(pwd))
return string(pwd)
} func main() {
parseCommand()
pwd := getPwd()
fmt.Println(pwd)
}
go 切片练习的更多相关文章
- ArcGIS 10.0紧凑型切片读写方法
首先介绍一下ArcGIS10.0的缓存机制: 切片方案 切片方案包括缓存的比例级别.切片尺寸和切片原点.这些属性定义缓存边界的存在位置,在某些客户端中叠加缓存时匹配这些属性十分重要.图像格式和抗锯齿等 ...
- 利用Python进行数据分析(5) NumPy基础: ndarray索引和切片
概念理解 索引即通过一个无符号整数值获取数组里的值. 切片即对数组里某个片段的描述. 一维数组 一维数组的索引 一维数组的索引和Python列表的功能类似: 一维数组的切片 一维数组的切片语法格式为a ...
- 充电时间 Go中的数组、切片、map简单示例
数组是固定长度的,依稀让我想起了VB:切片是动态的:map一般是键值对 package main import ( "fmt" ) func main() { var userna ...
- GO语言总结(3)——数组和切片
上篇博文简单介绍了一下Go语言的基本类型——GO语言总结(2)——基本类型,本篇博文开始介绍Go语言的数组和切片. 一.数组 与其他大多数语言类似,Go语言的数组也是一个元素类型相同的定长的序列. ( ...
- [LeetCode] Arithmetic Slices 算数切片
A sequence of number is called arithmetic if it consists of at least three elements and if the diffe ...
- 网络切片在5G中的应用
SDNLAB君 • 16-11-25 •1509 人围观 5G和网络切片 当5G被广泛提及的时候,网络切片是其中讨论最多的技术.像KT.SK Telecom.China Mobile.DT.KDDI. ...
- KRPano资源分析工具使用说明(KRPano XML/JS解密 切片图批量下载 球面图还原 加密混淆JS还原美化)
软件交流群:571171251(软件免费版本在群内提供) krpano技术交流群:551278936(软件免费版本在群内提供) 最新博客地址:blog.turenlong.com 限时下载地址:htt ...
- 使用KRPano资源分析工具强力加密KRPano项目(XML防破解,切片图保护,JS反调试)
软件交流群:571171251(软件免费版本在群内提供) krpano技术交流群:551278936(软件免费版本在群内提供) 最新博客地址:blog.turenlong.com 限时下载地址:htt ...
- 使用KRPano资源分析工具一键下载全景网站切片图
软件交流群:571171251(软件免费版本在群内提供) krpano技术交流群:551278936(软件免费版本在群内提供) 最新博客地址:blog.turenlong.com 限时下载地址:htt ...
- 窥探Swift之数组安全索引与数组切片
今天是元宵节,祝大家元宵节快乐!在Swift中的数组和字典中下标是非常常见的,数组可以通过索引下标进行元素的查询,字典可以通过键下标来获取相应的值.在使用数组时,一个常见的致命错误就是数组越界.如果在 ...
随机推荐
- tomcat设置虚拟路径映射服务器指定的物理路径
在tomcat的server.xml中的host标签中加入如下标签: <Context crossContext="false" debug="1" do ...
- ldap禁止匿名用户登录
此处默认ldap已经安装完成,安装文档传送门:https://www.cnblogs.com/crysmile/p/9470508.html openldap默认安装完成,是允许匿名用户登录的,因此需 ...
- P1198 [JSOI2008]最大数
题目描述 现在请求你维护一个数列,要求提供以下两种操作: 1. 查询操作. 语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值. 限制:L不超过当前数列的长度.(L>0) ...
- CodeForces - 988C(STL大法好)
请你找出两个编号不同的数列,并从这两个数列中各恰好删除一个数,使得这两个数列的和相等. 用vector存每一个数 用map标记 即可 #include <bits/stdc++.h> us ...
- hbase batch批处理
hbase的put(List<Put> puts),delete(List<Delete> deletes),get(List<Get> gets)都是基于batc ...
- Mininet 系列实验(六)
写在前面 这次实验遇到了非常多问题,非常非常多,花了很多时间去解决,还是有一些小问题没有解决,但是基本上能完成实验.建议先看完全文再开始做实验. 实验内容 先看一下本次实验的拓扑图: 在该环境下,假设 ...
- Counting
Description 数学老师走啦,英语老师来上课啦 他的性格与众不同,又因为大家都是理科班的学生 他希望大家在数字母的过程中领悟英语的快乐 他用m种字母进行排列组合, 得到了所 ...
- LINUX第四周学习
<Linux内核设计与实现>第四周读书笔记——第五章 5.1 与内核通信57 系统调用在用户空间进程和硬件设备之间添加了一个中间层,该层主要作用有三个: 首先它为用户空间提供了一种硬件的抽 ...
- cpplint
Cpplint是一个Python脚本,作为一款开源免费的代码静态检测工具,Google也使用它作为自己的C++代码检测工具,也就是说,只要你的代码遵从Google C++代码规范,那么Cpplint将 ...
- QT 设置菜单图标
目录 一.添加主窗口菜单 二.添加菜单图标 三.添加资源文件 四.使用资源文件 五.使用代码来添加菜单和图标 正文 一.添加主窗口菜单 1.新建Qt Gui应用,项目名称为myMainWind ...