当前位置: 首页 > news >正文

简单炫酷的网站下载安装微信app

简单炫酷的网站,下载安装微信app,佛山网站制作网站设计,国内最新新闻2022字符串相关方法 获取字符串长度 注意: Go语言编码方式是UTF-8,在UTF-8中一个汉字占3个字节package main import fmt func main() { str1 : lnj fmt.Println(len(str1)) // 3 str2 : lnj fmt.Println(len(str2)) // 12 } 如果字符串中包含中… 字符串相关方法 获取字符串长度 注意: Go语言编码方式是UTF-8,在UTF-8中一个汉字占3个字节 package main import fmt func main() {     str1 : lnj     fmt.Println(len(str1)) // 3     str2 : lnj     fmt.Println(len(str2)) // 12 } 如果字符串中包含中文, 又想精确的计算字符串中字符的个数而不是占用的字节, 那么必须先将字符串转换为rune类型数组 Go语言中byte用于保存字符, rune用于保存汉字 package main import fmt func main() {     str : lnj     // 注意byte占1个字节, 只能保存字符不能保存汉字,因为一个汉字占用3个字节     arr1 : []byte(str) // 12     fmt.Println(len(arr1))     for _, v : range arr1{         fmt.Printf(%c, v)      }       // Go语言中rune类型就是专门用于保存汉字的     arr2 : []rune(str)     fmt.Println(len(arr2)) // 6     for _, v : range arr2{         fmt.Printf(%c, v) // lnj     } } 查找子串在字符串中出现的位置 func Index(s, sep string) intfunc IndexByte(s string, c byte) intfunc IndexRune(s string, r rune) intfunc IndexAny(s, chars string) intfunc IndexFunc(s string, f func(rune) bool) intfunc LastIndex(s, sep string) intfunc LastIndexByte(s string, c byte) intfunc LastIndexAny(s, chars string) intfunc LastIndexFunc(s string, f func(rune) bool) int package main import (     strings     fmt ) func main() {     // 查找字符在字符串中第一次出现的位置, 找不到返回-1     res : strings.IndexByte(hello, l)     fmt.Println(res) // 2       // 查找汉字OR字符在字符串中第一次出现的位置, 找不到返回-1     res strings.IndexRune(hello, l)     fmt.Println(res) // 6     res strings.IndexRune(hello, l)     fmt.Println(res) // 2       // 查找汉字OR字符中任意一个在字符串中第一次出现的位置, 找不到返回-1     res strings.IndexAny(hello, wml)     fmt.Println(res) // 2     // 会把wmhl拆开逐个查找, w、m、h、l只要任意一个被找到, 立刻停止查找     res strings.IndexAny(hello, wmhl)     fmt.Println(res) // 0     // 查找子串在字符串第一次出现的位置, 找不到返回-1     res strings.Index(hello 李南江, llo)     fmt.Println(res) // 2     // 会把lle当做一个整体去查找, 而不是拆开     res strings.Index(hello, lle)     fmt.Println(res) // -1     // 可以查找字符也可以查找汉字     res strings.Index(hello, l)     fmt.Println(res) // 6       // 会将字符串先转换为[]rune, 然后遍历rune切片逐个取出传给自定义函数     // 只要函数返回true,代表符合我们的需求, 既立即停止查找     res strings.IndexFunc(hello 李南江, custom)     fmt.Println(res) // 6       // 倒序查找子串在字符串第一次出现的位置, 找不到返回-1     res : strings.LastIndex(hello , l)     fmt.Println(res) // 3 } func custom(r rune) bool {     fmt.Printf(被调用了, 当前传入的是%c\n, r)     if r o {         return true     }     return false } 判断字符串中是否包含子串 func Contains(s, substr string) boolfunc ContainsRune(s string, r rune) boolfunc ContainsAny(s, chars string) boolfunc HasPrefix(s, prefix string) boolfunc HasSuffix(s, suffix string) bool package main import (     strings     fmt ) func main() {     // 查找子串在字符串中是否存在, 存在返回true, 不存在返回false     // 底层实现就是调用strings.Index函数     res : strings.Contains( hello, llo)     fmt.Println(res) // true       // 查找汉字OR字符在字符串中是否存在, 存在返回true, 不存在返回false     // 底层实现就是调用strings.IndexRune函数     res strings.ContainsRune( hello, l)     fmt.Println(res) // true     res strings.ContainsRune( hello, l)     fmt.Println(res) // true       // 查找汉字OR字符中任意一个在字符串中是否存在, 存在返回true, 不存在返回false     // 底层实现就是调用strings.IndexAny函数     res strings.ContainsAny( hello, wmhl)     fmt.Println(res) // true       // 判断字符串是否已某个字符串开头     res strings.HasPrefix(lnj-book.avi, lnj)     fmt.Println(res) // true       // 判断字符串是否已某个字符串结尾     res strings.HasSuffix(lnj-book.avi, .avi)     fmt.Println(res) // true } 字符串比较 func Compare(a, b string) intfunc EqualFold(s, t string) bool package main import (     strings     fmt ) func main() {     // 比较两个字符串大小, 会逐个字符地进行比较ASCII值     // 第一个参数   第二个参数 返回 1     // 第一个参数   第二个参数 返回 -1     // 第一个参数 第二个参数 返回 0     res : strings.Compare(bcd, abc)     fmt.Println(res) // 1     res strings.Compare(bcd, bdc)     fmt.Println(res) // -1     res strings.Compare(bcd, bcd)     fmt.Println(res) // 0       // 判断两个字符串是否相等, 可以判断字符和中文     // 判断时会忽略大小写进行判断     res2 : strings.EqualFold(abc, def)     fmt.Println(res2) // false     res2 strings.EqualFold(abc, abc)     fmt.Println(res2) // true     res2 strings.EqualFold(abc, ABC)     fmt.Println(res2) // true     res2 strings.EqualFold(111, 111)     fmt.Println(res2) // true } 字符串转换 func ToUpper(s string) stringfunc ToLower(s string) stringfunc ToTitle(s string) stringfunc ToUpperSpecial(_case unicode.SpecialCase, s string) stringfunc ToLowerSpecial(_case unicode.SpecialCase, s string) stringfunc ToTitleSpecial(_case unicode.SpecialCase, s string) stringfunc Title(s string) string package main import (     strings     fmt ) func main() {     // 将字符串转换为小写     res : strings.ToLower(ABC)     fmt.Println(res) // abc         // 将字符串转换为大写     res strings.ToUpper(abc)     fmt.Println(res) // ABC       // 将字符串转换为标题格式, 大部分字符标题格式就是大写     res strings.ToTitle(hello world)     fmt.Println(res) // HELLO WORLD     res strings.ToTitle(HELLO WORLD)     fmt.Println(res) // HELLO WORLD       // 将单词首字母变为大写, 其它字符不变     // 单词之间用空格OR特殊字符隔开     res strings.Title(hello world)     fmt.Println(res) // Hello World } 字符串拆合 func Split(s, sep string) []stringfunc SplitN(s, sep string, n int) []stringfunc SplitAfter(s, sep string) []stringfunc SplitAfterN(s, sep string, n int) []stringfunc Fields(s string) []stringfunc FieldsFunc(s string, f func(rune) bool) []stringfunc Join(a []string, sep string) stringfunc Repeat(s string, count int) stringfunc Replace(s, old, new string, n int) string package main import (     strings     fmt ) func main() {     // 按照指定字符串切割原字符串     // 用,切割字符串     arr1 : strings.Split(a,b,c, ,)     fmt.Println(arr1) // [a b c]     arr2 : strings.Split(ambmc, m)     fmt.Println(arr2) // [a b c]       // 按照指定字符串切割原字符串, 并且指定切割为几份     // 如果最后一个参数为0, 那么会范围一个空数组     arr3 : strings.SplitN(a,b,c, ,, 2)     fmt.Println(arr3) // [a b,c]     arr4 : strings.SplitN(a,b,c, ,, 0)     fmt.Println(arr4) // []       // 按照指定字符串切割原字符串, 切割时包含指定字符串     arr5 : strings.SplitAfter(a,b,c, ,)     fmt.Println(arr5) // [a, b, c]       // 按照指定字符串切割原字符串, 切割时包含指定字符串, 并且指定切割为几份     arr6 : strings.SplitAfterN(a,b,c, ,, 2)     fmt.Println(arr6) // [a, b,c]       // 按照空格切割字符串, 多个空格会合并为一个空格处理     arr7 : strings.Fields(a  b c    d)     fmt.Println(arr7) // [a b c d]       // 将字符串转换成切片传递给函数之后由函数决定如何切割     // 类似于IndexFunc     arr8 : strings.FieldsFunc(a,b,c, custom)     fmt.Println(arr8) // [a b c]       // 将字符串切片按照指定连接符号转换为字符串     sce : []string{aa, bb, cc}     str1 : strings.Join(sce, -)     fmt.Println(str1) // aa-bb-cc         // 返回count个s串联的指定字符串     str2 : strings.Repeat(abc, 2)     fmt.Println(str2) // abcabc       // 第一个参数: 需要替换的字符串     // 第二个参数: 旧字符串     // 第三个参数: 新字符串     // 第四个参数: 用新字符串 替换 多少个旧字符串     // 注意点: 传入-1代表只要有旧字符串就替换     // 注意点: 替换之后会生成新字符串, 原字符串不会受到影响     str3 : abcdefabcdefabc     str4 : strings.Replace(str3, abc, mmm, -1)     fmt.Println(str3) // abcdefabcdefabc     fmt.Println(str4) // mmmdefmmmdefmmm } func custom(r rune) bool {     fmt.Printf(被调用了, 当前传入的是%c\n, r)     if r , {         return true     }     return false } 字符串清理 func Trim(s string, cutset string) stringfunc TrimLeft(s string, cutset string) stringfunc TrimRight(s string, cutset string) stringfunc TrimFunc(s string, f func(rune) bool) stringfunc TrimLeftFunc(s string, f func(rune) bool) stringfunc TrimRightFunc(s string, f func(rune) bool) stringfunc TrimSpace(s string) stringfunc TrimPrefix(s, prefix string) stringfunc TrimSuffix(s, suffix string) string package main import (     strings     fmt ) func main() {     // 去除字符串两端指定字符     str1 : strings.Trim(!!!abc!!!def!!!, !)     fmt.Println(str1) // abc!!!def     // 去除字符串左端指定字符     str2 : strings.TrimLeft(!!!abc!!!def!!!, !)     fmt.Println(str2) // abc!!!def!!!     // 去除字符串右端指定字符     str3 : strings.TrimRight(!!!abc!!!def!!!, !)     fmt.Println(str3) // !!!abc!!!def     // // 去除字符串两端空格     str4 : strings.TrimSpace(   abc!!!def )     fmt.Println(str4) // abc!!!def       // 按照方法定义规则,去除字符串两端符合规则内容     str5 : strings.TrimFunc(!!!abc!!!def!!!, custom)     fmt.Println(str5) // abc!!!def     // 按照方法定义规则,去除字符串左端符合规则内容     str6 : strings.TrimLeftFunc(!!!abc!!!def!!!, custom)     fmt.Println(str6) // abc!!!def!!!     //  按照方法定义规则,去除字符串右端符合规则内容     str7 : strings.TrimRightFunc(!!!abc!!!def!!!, custom)     fmt.Println(str7) // !!!abc!!!def       // 取出字符串开头的指定字符串     str8 : strings.TrimPrefix(lnj-book.avi, lnj-)     fmt.Println(str8) // book.avi       // 取出字符串结尾的指定字符串     str9 : strings.TrimSuffix(lnj-book.avi, .avi)     fmt.Println(str9) // lnj-book } 正则表达式 正则表达式是对字符串操作的一种逻辑公式就是用事先定义好的一些特定字符、及这些特定字符的组合组成一个“规则字符串”这个“规则字符串”用来表达对字符串的一种过滤逻辑。相关规则标准详见 百度百科Go语言官方文档regexp包Go语言中正则表达式使用步骤 1.创建一个正则表达式匹配规则对象2.利用正则表达式匹配规则对象匹配指定字符串ps:相关规则 package main import (     strings     fmt ) func main() {     // 创建一个正则表达式匹配规则对象     // reg : regexp.MustCompile(规则字符串)     // 利用正则表达式匹配规则对象匹配指定字符串     // 会将所有匹配到的数据放到一个字符串切片中返回     // 如果没有匹配到数据会返回nil     // res : reg.FindAllString(需要匹配的字符串, 匹配多少个)       str : Hello 1232     reg : regexp.MustCompile(2)     res : reg.FindAllString(str, -1)     fmt.Println(res) // [2 2]     res reg.FindAllString(str, 1)     fmt.Println(res) // [2] } 匹配电话号码 package main import (     strings     fmt ) func main() {     res2 : findPhoneNumber(13554499311)     fmt.Println(res2) // true       res2 findPhoneNumber(03554499311)     fmt.Println(res2) // false       res2 findPhoneNumber(1355449931)     fmt.Println(res2) // false } func findPhoneNumber(str string) bool {     // 创建一个正则表达式匹配规则对象     reg : regexp.MustCompile(^1[1-9]{10})     // 利用正则表达式匹配规则对象匹配指定字符串     res : reg.FindAllString(str, -1)     if(res nil){         return  false     }     return  true } 匹配Email package main import (     strings     fmt ) func main() {     res2 findEmail(123qq.com)     fmt.Println(res2) // true       res2 findEmail(ab?deqq.com)     fmt.Println(res2) // false       res2 findEmail(123qqcom)     fmt.Println(res2) // false } func findEmail(str string) bool {     reg : regexp.MustCompile(^[a-zA-Z0-9_][a-zA-Z0-9]\\.[a-zA-Z0-9])     res : reg.FindAllString(str, -1)     if(res nil){         return  false     }     return  true } 时间和日期函数 获取当前时间 package main   import (     fmt     time ) func main()  {     var t time.Time time.Now()     // 2018-09-27 17:25:11.653198 0800 CST m0.009759201     fmt.Println(t) } 获取年月日时分秒 package main   import (     fmt     time ) func main()  {     var t time.Time time.Now()     fmt.Println(t.Year())     fmt.Println(t.Month())     fmt.Println(t.Day())     fmt.Println(t.Hour())     fmt.Println(t.Minute())     fmt.Println(t.Second()) } 格式化时间 package main   import (     fmt     time ) func main()  {     var t time.Time time.Now()     fmt.Printf(当前的时间是: %d-%d-%d %d:%d:%d\n, t.Year(),         t.Month(), t.Day(), t.Hour(), t.Minute(), t.Second())       var dateStr fmt.Sprintf(%d-%d-%d %d:%d:%d, t.Year(),         t.Month(), t.Day(), t.Hour(), t.Minute(), t.Second()) fmt.Println(当前的时间是:, dateStr) } package main   import (     fmt     time ) func main()  {     var t time.Time time.Now()     // 2006/01/02 15:04:05这个字符串是Go语言规定的, 各个数字都是固定的     // 字符串中的各个数字可以只有组合, 这样就能按照需求返回格式化好的时间     str1 : t.Format(2006/01/02 15:04:05)     fmt.Println(str1)     str2 : t.Format(2006/01/02)     fmt.Println(str2)     str3 : t.Format(15:04:05)     fmt.Println(str3) } 时间常量 一般用于指定时间单位, 和休眠函数配合使用例如: 100毫秒, 100 *time.Millisecond const (     Nanosecond  Duration 1    // 纳秒     Microsecond          1000 * Nanosecond // 微秒     Millisecond          1000 * Microsecond // 毫秒     Second               1000 * Millisecond // 秒     Minute               60 * Second // 分钟     Hour                 60 * Minute // 小时 ) package main   import (     fmt     time ) func main()  {     for{         // 1秒钟打印一次         time.Sleep(time.Second * 1)         // 0.1秒打印一次         //time.Sleep(time.Second * 0.1)         time.Sleep(time.Millisecond * 100)         fmt.Println(Hello LNJ)     } } 获取当前时间戳 Unix秒UnixNano纳秒一般用于配合随机函数使用, 作为随机函数随机种子 package main   import (     fmt     time )   func main()  {     t : time.Now()     // 获取1970年1月1日距离当前的时间(秒)     fmt.Println(t.Unix())     // 获取1970年1月1日距离当前的时间(纳秒)     fmt.Println(t.UnixNano()) } package main   import (     fmt     math/rand     time ) func main()  {     // 创建随机数种子     rand.Seed(time.Now().UnixNano())     // 生成一个随机数     fmt.Println(rand.Intn(10)) }   转载于:https://www.cnblogs.com/siro/p/11116608.html
http://www.zqtcl.cn/news/670920/

相关文章:

  • 正规的招聘网站可信网站标志
  • 网站举报能不能查到举报人佛山企业网站建设电话
  • 家居网站建设如何现在去长沙会被隔离吗
  • 电子烟网站建设win2008iis7配置网站
  • 做网站的是什么职业微信公众号模板素材网站
  • 重庆川九建设有限责任公司官方网站成都网站海口网站建设
  • 珠宝 网站模板如何做公司官网
  • 贵阳网站制作免费iis7.5网站权限配置
  • 温州网站建设专业的公司移动互联网开发学什么专业
  • 集团企业网站建设方案运动服饰网站建设项目规划书
  • 简述网站建设的一般步骤简约的网站建设
  • wordpress删除用户头像昆明做网站优化的公司
  • 西安响应式网站网页设计的模板
  • 古装衣服店网站建设页面网站执行速度
  • 哪里的网站建设哈尔滨网络优化推广公司
  • 给网站做友情链接凡科网干嘛的
  • 网站经常出现502牧星网站建立
  • 个人网站建设的收获dw网站导航怎么做
  • 徐州网站设计快速排名网站
  • dede手机网站跳转口碑营销平台
  • 开一个素材设计网站怎么做的网页传奇手机版
  • 网站开发后端框架什么意思树莓派3 部署wordpress
  • 站长之家最新域名查询合肥网站建设5k5
  • h5做网站什么软件北京公司注销流程及费用
  • 淮北市相山区建设局网站合肥比较好的网站制作
  • 松岗营销型网站建设公司网站需要服务器吗
  • 图书馆网站信息化建设中国seo第一人
  • 域名网站负责人的责任一键制作单页网站
  • 南宁建设局网站建设有限公司
  • 湛江建设工程交易中心网站企业营销网站建设步骤