Go语言中文网 为您找到相关结果 451

字符串横向对比:C、Golang、Redis

###C语言中的字符串 C语言的字符串是通过字符数组实现的,每个字符串以'\0'结束。C语言字符串的三大操作函数也是常见笔试题。 int strlen(char *s) { char *p = s; while (*p != '\0') p++ return p -s; } void strcpy(char *s, char *t) { int i; i = 0; while ((s[i] = t[i]) != '\0') i++; } void strcmp(char *s, char *t) { for ( ; *s == *t; s++, t++) if (*s == '\0') return 0; return *s - *t; } 具体实现的方式为就不说了,主要说说这里的问题。 在...阅读全文

博文 2017-02-09 12:25:38 Bryce

Go语言开发(十一)、Go语言常用标准库一

Go语言开发(十一)、Go语言常用标准库一 一、log 1、log模块简介 Go语言中log模块用于在程序中输出日志。log模块提供了三类日志输出接口,Print、Fatal和Panic。Print是普通输出;Fatal是在执行完Print后,执行 os.Exit(1);Panic是在执行完Print后调用panic()方法。log模块对每一类接口其提供了3中调用方式,分别是"Xxxx、 Xxxxln、Xxxxf"。 2、log.Print接口 log.Print类接口包括log.Print、log.Println、log.Printf,接口如下: // Printf calls l.Output to print to the logger. // Arguments are handle...阅读全文

博文 2018-10-07 21:35:10 天山老妖S

golang基础学习-字符串和整型互

在golang语言中字符串和整数之间的转换相比PHP有点复杂。刚学习的人,尤其学过PHP,秒级可以搞定的事情, 这里却要使用strcov包中函数转换,orz~~~~。没办法入了golang的大门,就要继续探究下去。 1.字符串转成整型 func Atoi(s string) (int, error) 举例: v := "10" if s, err := strconv.Atoi(v); err == nil { fmt.Printf("%T, %v", s, s) } 打印输出: int,10 2.整型转成字符串 func Itoa(i int) string 举例: i := 10 s := strconv.Itoa(i) fmt.Printf("%T, %v\n", s, s) 打印输出...阅读全文

博文 2018-09-21 12:34:39 wmm369

Go语言核心之美 2.5-字符串

字符串是不可变的字节序列,虽然可以包含任意数据,包括0这个字节,不过字符串通常是用来包含可读性较强的文本。文本字符串通常采用UTF-8编码,由Unicode码点(rune)组成。 内置的len函数会返回字符串的所有字节(byte)数(注意不是rune的数目!!一个rune可能包含多个字节),下标操作s[i]可以获取字符串的第i 个字节(从0开始), 其中i >= 0 并且 i < len(s):s := "hello, world" fmt.Println(len(s)) // "12" fmt.Println(s[0], s[7]) // "104 119" ('h' and 'w') 访问索引边界外的字节会造成运行时panic:c := s[len(s)] // panic: index...阅读全文

博文 2017-10-27 20:58:43 erlib

go语言示例:值类型

go语言有各种类型的值类型,包括字符串,整型,浮点型,布尔型等等。这里有一小段基本的例子。 字符串连接可以用"+". 整形和浮点型。 布尔型和布尔型的计算正如你所期望的那样。 Plain Text code ? 1 2 3 4 5 6 7 8 9 10 package main import "fmt" func main() { fmt.Println("go" + "lang") fmt.Println("1+1 =", 1+1) fmt.Println("7.0/3.0 =", 7.0/3.0) fmt.Println(true && false) fmt.Println(true || false) fmt.Println(!true) } $ go run values.go go...阅读全文

博文 2015-06-17 23:00:42 xming4321

前端遇上Go: 静态资源增量更新的新实践

总第259篇2018年 第51篇为什么要做增量更新美团金融的业务在过去的一段时间里发展非常快速。在业务增长的同时,我们也注意到,很多用户的支付环境,其实是在弱网环境中的。大家知道,前端能够服务用户的前提是 JavaScript 和 CSS 等静态资源能够正确加载。如果网络环境恶劣,那么我们的静态资源尺寸越大,用户下载失败的概率就越高。根据我们的数据统计,我们的业务中有2%的用户流失与资源加载有关。因此每次更新的代价越小、加载成功率越高,用户流失率也就会越低,从而就能够变相提高订单的转化率。作为一个发版频繁的业务,要降低发版的影响,可以做两方面优化:更高效地使用缓存,减少静态资源的重复下载。使用增量更新,降低单次发版时下发的内容尺寸。针对第一点,我们有自己的模块加载器来做,这里先按下不表,我们...阅读全文

博文 2018-07-06 17:46:17 美团技术团队

go语言reversevowelsofastring

Go语言ReverseVowelsofaString 主要是判断是不是元音字符,没啥难度,记得实际写的时候要去掉魔鬼数字 package main import ( "fmt" ) //注意考虑大小写 func isVowel(vowel rune) bool { if vowel == 97 || vowel == 97-32 { return true } if vowel == 101 || vowel == 101-32 { return true } if vowel == 105 || vowel == 105-32 { return true } if vowel == 111 || vowel == 111-32 { return true } if vowel == 117...阅读全文

博文 2016-07-18 15:00:45 qq_15437667

go golang 判断base64数据 获取随机字符串 截取字符串

go golang 判断base64数据 获取随机字符串 截取字符串 先少写点,占个坑,以后接着加。 1,获取指定长度随机字符串 func RandomDigits(length int) string { return randomString(length, []byte(Digits)) } func randomString(length int, base []byte) string { bytes := make([]byte, length) maxIndex := len(base) for i := 0; i < length; i++ { index := rand.Intn(maxIndex) bytes[i] = byte(base[index]) } return...阅读全文

博文 2017-09-24 08:30:01 mingbai

golang语言渐入佳境[22]-string检索类函数

string检索类函数123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142package mainimport ( ...阅读全文

博文 2018-12-06 03:35:16 jonson_jackson

golang常用类型之间的转换

//string到int int,err:=strconv.Atoi(string) //string到int64 int64, err := strconv.ParseInt(string, 10, 64) //int到string string:=strconv.Itoa(int) //int64到string string:=strconv.FormatInt(int64,10) //字符串到float32/float64 float32, err = ParseFloat(string, 32) float64,err = ParseFloat(string,64) int和int64之间转换(类似于java的强制类型转换) //int64转int int:=int(int64) /...阅读全文

博文 2017-03-05 13:55:57 skh2015java

GoLang 加密方法大全

以下Golang代码的加密结果与Java语言结果一致,需要注意结果大小写问题。 仅供参考,拿去不谢! package secret import ( "appback/src/logger" "bytes" "crypto/aes" "crypto/cipher" "crypto/hmac" "crypto/md5" "crypto/rand" "crypto/rsa" "crypto/sha1" "crypto/sha256" "crypto/sha512" "crypto/x509" "encoding/base64" "encoding/hex" "encoding/pem" "fmt" "strings" ) // md5验证 func MD5Str(src string) stri...阅读全文

博文 2018-11-08 11:35:11 烈舞火

golang 字符串操作实例

package main import s "strings"import "fmt" var p = fmt.Println func main() { p("Contains: ", s.Contains("test", "es")) //是否包含 true p("Count: ", s.Count("test", "t")) //字符串出现字符的次数 2 p("HasPrefix: ", s.HasPrefix("test", "te")) //判断字符串首部 true p("HasSuffix: ", s.HasSuffix("test", "st")) //判断字符串结尾 true p("Index: ", s.Index("test", "e")) //查询字符串位置 1 p("...阅读全文

博文 2017-12-27 01:47:51 zr_go

[求助]golang中 哈希加密:mac.Sum(nil) 后的结果如何转为普通字符串?

``` // Original key 均为普通字符串 key := []byte(Original) mac := hmac.New(sha1.New, key) mac.Write([]byte(SecretKey)) SignTmp := mac.Sum(nil) fmt.Printf("%x", mac.Sum(nil)) // 正常打印 cb679a19c10ea9153da5281e88fb34fa145b3174 ``` 如上,然后我尝试将其转换为字符串 ``` tmp := []byte(SignTmp[:]) result := string([]byte(tmp[:])) //result变为乱码 ``` 发现resul...阅读全文

Go+GraphQL+React+Typescript搭建简书项目(五)——注册与登录

项目地址:github 前端的路由 在React中,路由的使用主要由react-router-dom提供。使用yarn安装react-router-dom。 $ yarn add react-router-dom 我们删除脚手架提供的示例代码,只保留index和App。我们这里将路由内容写在App.tsx文件中。 import React from "react"; import {BrowserRouter, Route, Switch} from "react-router-dom" export default function App() { return ( 阅读全文

博文 2018-10-28 07:35:09 小韩说课

动手实现一个JSON验证器

最近做毕设的时候,有个功能需要验证JSON字符串的合法性,最简单的做法是直接用Go的第三方JSON库做一个反序列化,但这样做给我有种杀鸡用牛刀的感觉,毕竟我不需要真正的反序列化它,单纯的验证和反序列化的性能差距直观感觉上还是比较大的。 分析 既然要验证JSON的有效性,那么必然需要清楚的知道JSON格式,这个在JSON官网已经给我们画出来了: 从官方的图上面可以看出,JSON的组成一共有五部分: object: 以左大括号({)开头表示对象的开始。 array: 以左中括号([)开头表示数组的开始。 value: 数组中只能有值类型,对象中每一个键后面必跟一个值类型。 string: 以英文的双引号开头表示字符串类型。 number: 以减号(-)、1~9、0开头表示数值类型。 从上可以看出...阅读全文

博文 2017-03-20 07:01:24 疯狂的爱因斯坦

GO JsonStr 2 obj

//project main.go package main import ( "encoding/json" "fmt" ) func main() { fmt.Println(help()) b := []byte(`{ "Title": "Go语言编程", "Authors": ["XuShiwei", "HughLv", "Pandaman", "GuaguaSong", "HanTuo", "BertYuan", "XuDaoli"], "Publisher": "ituring.com.cn", "IsPublished": true, "Price": 9.99, "Sales": 1000000 }`) var r interface{} err := json.Unmars...阅读全文

博文 2017-05-10 12:00:47 痞子汤

golang分解http GET字符参数串到map

来了一串字符串,类似于http GET的URL参数串。不知道"net/url"能解http://www.pic98.com/srs?sessionid=22222&token=3333 这样的串。但是能不能分解 ?sessionid=22222&token=3333 这样的串没试过。其实自己构造个解析也很快的。上代码。 func uri2map(uri string) (map[string]string, error) { m := make(map[string]string) if len(uri) < 1 { // 空字符串 return m, errors.New("uri is none") } if uri[0:1] == "?" { // 有没有包含?,有的话忽略。 uri ...阅读全文

博文 2019-04-04 12:34:39 毛毛v5

cgo 之 go 访问c 的数据 - int

以int 为例子. 适合int系列, float double . 不适用于字符串. ``` package main //#include //static int m; //int* get_m_addr(){return &m;} //void show_m(){printf("m=%d\n",m);} //void set_m(void *p,int x) {*(int*)p = x;} import "C" import "unsafe" func main() { t := C.get_m_addr() *t = 5 C.show_m(); x := 100 *t = C.int(x) C.show_m() y := 200 C.set_m(unsafe.Po...阅读全文

博文 2019-06-11 22:45:05 wzy2687

Golang学习笔记-1.15 字符串

本文系第十五篇Golang语言学习教程 什么是字符串 Go 语言中的字符串是一个字节切片. 把内容放在双引号之间, 就可以创建一个字符串. package main import "fmt" func main() { name := "hello world" fmt.Println(name) } 程序输出:hello world Go 中字符串是兼容 Unicode 编码的, 并且使用 UTF-8 进行编码. 单独获取字符串的每一个字节 由于字符串是字节切片, 所以可以获取字符串的每一个字节. package main import "fmt" func printbytes(s string) { //定义函数 for i := 0; i < len(s); i++ { //len(...阅读全文

博文 2018-08-04 20:34:54 xunk1900

LeetCode-5-最长回文子串

题目描述 最长回文子串 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例 1: 输入: "babad" 输出: "bab" 注意: "aba" 也是一个有效答案。 示例 2: 输入: "cbbd" 输出: "bb" 思路 如果把一个字符串反转,反转后的字符串与原来相同,则该字符串是回文串 使用暴力法,搜索上做了一些优化 Code Golang func longestPalindrome(s string) string { if IsPalindrome([]byte(s)) { return s } max := "" l := len(s) cs := []byte(s) for i:=0;i阅读全文

博文 2019-07-12 00:02:45 monigo

golang用栈的方式从一段字符串中匹配出{}

一段字符串中匹配出{},感觉还是没有达到效果,仅仅是找出了括号,但是没有展示出那两个两两匹配 ```go package main import ( "fmt" "log" ) //从一段字符串中匹配出{} type Stack struct { size int64 //栈的容量 top int64 //栈顶 data []interface{} } func MakeStack( size int64) Stack{ s :=Stack{} s.size=size s.data =make([]interface{},size) return s } //入栈,空间不足,逐段升高 func (s *Stack) Push(e interface{}) bool{ if s.IsFull(...阅读全文

博文 2018-01-24 20:44:16 yinshidaoshi

LeetCode - 无重复字符的最长子串 - Golang

题目:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 `"abc",所以其`长度为 3。 示例 2: 输入: "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 `"b"`,所以其长度为 1。 示例 3: 输入: "pwwkew" 输出: 3 解释: 因为无重复字符的最长子串是 `"wke"`,所以其长度为 3。 请注意,你的答案必须是 **子串** 的长度,`"pwke"` 是一个_子序列,_不是子串。 基于Golang的代码实现如下: func lengthOfLongestSubstring(s string) int { // 获取字符串长度 l := len(s) ...阅读全文

博文 2020-02-12 20:32:41 邹友

Go-string

本文将讲解Go中字符串相关的知识。 1 编码知识 在讲解String之前,我们先讲解一下编码。因为在讲解string过程中,会用到编码知识。 1.1 字符集 字符集规定了某个文字对应的二进制数字存放方式(编码)以及某串二进制数字代表了哪个文字(解码)的转换关系。比如我们常见的Unicode字符集。相当于定义了一套标准。 1.2 编码 编码字符集:用一个编码值(code point)来表示一个字符在字库中的位置。 字符编码:编码字符集和实际存储数据之间的转换关系。比如我们常见的utf-8编码。相当于标准的一个实现。 1.3 乱码 我们在开发中,经常遇到的一个棘手的问题就是乱码。为什么乱码呢?就是因为编、解码采用的字符编码不一致。就好比同样的一串字符,在英语跟俄语中的含义可能不一样。 2 str...阅读全文

博文 2019-09-25 00:32:52 aside section ._1OhGeD

mattn oci8连接Oracle查询结果返回结果里面多了一串不想要的字符串: %!(EXTRA )

请知道的高手解答一下,谢谢了 错误信息: %!(EXTRA ) 运行程序结果: [root@localhost ocitest]# ~/tasks/go/fjgd/bin/ocitest connected cool %!(EXTRA )7369 SMITH 7876 ADAMS 7900 JAMES 代码: package main import ( "fmt" "database/sql" _ "github.com/mattn/go-oci8" ) func main(){ db, err := sql.Open("oci8", "scott/11@localhost...阅读全文

Golang-levelDB的使用

package mainimport ("fmt""github.com/syndtr/goleveldb/leveldb")func main() {levelDB()}func levelDB() {//定义字符数组key value key := []byte("Test")value := []byte("Test Level DB")//定义字符串的键值对 k1 :="key" v1 :="value" // The returned DB instance is safe for concurrent use.// The DB must be closed after use, by calling Close method.//文件夹位置,获取db实例-设置数据库文件的位置 ...阅读全文

博文 2019-06-11 17:32:58 会搬东西的小蚂蚁

<14> go strings_func

go的strings包专门操作字符串 import ( "fmt" s "strings" ) var p = fmt.Println func main() { p("Contains: ", s.Contains("test", "es")) p("Count: ", s.Count("test", "t")) p("HasPrefix: ", s.HasPrefix("test", "te")) p("HasSuffix: ", s.HasSuffix("test", "st")) p("Index: ", s.Index("test", "e")) p("Join: ", s.Join([]string{"a", "b"}, "-")) p("Repeat: ", s.Repeat(...阅读全文

博文 2016-01-31 13:00:01 a11101171

BASE64编码原理与Golang代码调用

一.概念简介 Base64是一种基于64个可打印字符来表示二进制数据的表示方法。由于2^6=64,所以每6个比特为一个单元,对应某个可打印字符。3个字节有24个比特,对应于4个Base64单元,即3个字节可由4个可打印字符来表示。它可用来作为电子邮件的传输编码。在Base64中的可打印字符包括字母A-Z、a-z、数字0-9,这样共有62个字符,此外两个可打印符号在不同的系统中而不同。 Base64常用于在通常处理文本数据的场合,表示、传输、存储一些二进制数据 二.代码调用 在Golang中提供了代码库可以供我们直接调用,用于实现Base64的编码与解码,其提供了对两种格式的数据进行编码(与解码) const encodeStd = "ABCDEFGHIJKLMNOPQRSTUVWXYZabc...阅读全文

博文 2018-08-15 20:36:42 暗黑魔君

【Go】IP地址转换:数字与字符串之间高效转换

载:https://blog.thinkeridea.com/201903/go/ip2long.html IP 地址库中 IP 地址的保存格式一般有两种,一种是点分十进制形式(192.168.1.1),另一种是数字形式(3232235777),应用中,经常需要在这两种格式之间做转换。 针对这一个问题我在 exnet 扩展包里面实现可两者的转换的快捷方法: func IP2Long(ip net.IP) (uint, error) IP2Long 把 net.IP 转为数值 func Long2IP(i uint) (net.IP, error) Long2IP 把数值转为 net.IP func IPString2Long(ip string) (uint, error) IPString...阅读全文

博文 2019-03-25 09:34:38 thinkeridea

go 语言学习

// Hello project main.go package main import ( "fmt" ) var str string func miss(name string) { fmt.Print(len(name)) } func main() { str = "ling nizai nali" //字符串赋值 ch := str[0] // 取字符串的第一个字符 fmt.Printf("The length of \"%s\" is %d \n", str, len(str)) fmt.Printf("The first character of \"%s\" is %c.\n", str, ch) ...阅读全文

博文 2016-04-06 10:01:07 missling

Go常用字符串函数操作实例

Go语言常用字符串函数操作实例 package main import ( "fmt" "strconv" "strings" ) func main() { //字符串使用 str_sample() fmt.Println("------------------------------------") //strings包函数使用。 string_function_sample() } /* * 字符串使用例子 * author : RoadToTheExpert */ func str_sample() { str := "Hello" str += "World" fmt.Println("字符串相加:", str) fmt.Println("计算字符串长度:", len(str)) ...阅读全文

博文 2016-10-31 11:00:01 RoadToTheExpert

Golang之strings包

只列举了部分函数方法的使用: 太多了。。。。。。。 package main import ( "fmt" "strings" ) func main() { Count计算 sep在s中的非重叠个数 func Count(s, substr string) int { s := "Hello,超哥" 统计 l 出现的次数 n := strings.Count(s, "l") fmt.Println(n) //2 如果substr 为空,返回s中字符个数+1 n=strings.Count(s,"") fmt.Println(n) Contains判断 字符串 s中 是否包含 子串 substr func Contains(s, substr string) bool { substr什么都...阅读全文

博文 2017-12-21 09:00:01 pyyu

golang——(strings包)常用字符串操作函数

1)func HasPrefix(s, prefix string) bool判断字符串s是否有前缀字符串prefix;(2)func HasSuffix(s, suffix string) bool判断字符串s是否有后缀字符串suffix;(3)func Contains(s, substr string) bool判断字符串s是否包含子串substr;(4)func Count(s, sep string) int返回字符串s有几个不重复sep子串;(5)func Index(s, sep string) int返回字符串s中子串sep第一次出现的位置;不存在返回-1;(6)func ToLower(s string) string返回字符串s转小写的拷贝;(7)func ToUpper...阅读全文

博文 2019-08-27 17:32:52 灰侠_bf44

golang,python中字符串的截取。

package main import ( "fmt" "strings" ) func main() { a := "大大1122佛挡杀佛大大" c := Substr(a, "大大1", "杀") fmt.Println(c) } func Substr(str, startStr, endStr string) string { s := strings.Index(str, (startStr)) + len(startStr) e := strings.Index(str, (endStr)) if s == -1 { return "" } if e == -1 { return string(str[s:]) } return string(str[s:e]) } def su...阅读全文

博文 2017-10-23 14:03:11 大洋的顶端

Golang 字符串(string)系列函数功能与用法详解

常用函数 ContainsAny(str, chars) bool 如果str中包含chars中的任意一个字符,返回true,否则返回false 例子: str := "hello world" fmt.Println(strings.ContainsAny(str,"bcfa"),strings.ContainsAny(str,"dcfa")) 输出:false true ContainsRune(str,rune) bool str中是否包含单个unicode字符 例子: str := "hello world" fmt.Println(strings.ContainsRune(str,'w'),strings.ContainsRune(str,'s')) 输出:true false C...阅读全文

博文 2020-03-16 09:32:48 Eric木子

[用Golang刷LeetCode之 6] 557. Reverse Words in a String III

题目 Given a string, you need to reverse the order of characters in each word within a sentence while still preserving whitespace and initial word order. Example 1: Input: "Let's take LeetCode contest" Output: "s'teL ekat edoCteeL tsetnoc" Note: In the string, each word is separated by single space and there will not be any extra space in the string....阅读全文

博文 2017-08-14 09:04:59 miltonsun

一道简单的分词程序

**题目:** > 给出字符串dogandcat及字典{"do", "d", "gand", "g", "and", "dog", "cat", "c", "at", "in", "play", "i", "nplay"}, > 找出组成字符串的所以可能的单词组合。 之前用haskell写过一个实现,但接触golang之后,发现可以写成更简明的版本,代码如下: ``` package main import ( "fmt" ) var word = "dogandcat" var dicts = []string{"do", "d", "gand", "g", "and", "dog", "cat", "c", "at", "in", "play", "i", "nplay"} var re...阅读全文

博文 2017-09-29 04:50:15 aliate

golang基础学习-strings包常用函数学习

1.简介 Golang基础学习-strings包的学习. 2.代码 package main import ( "fmt" "strings" ) //StrFunc 字符串说明 func main() { var testStr string testStr = "seetatech" testStrTrim := " seeta tech " checkStr := "tech" fmt.Println("------:" + testStr + ":-----") //验证是否包含 fmt.Println(strings.Contains(testStr, checkStr)) //计算字符串包含某字符数量 fmt.Println(strings.Count(testStr, chec...阅读全文

博文 2018-05-28 14:34:38 wmm369

正则表达式优化

正则表达式优化 ——《精通正则表达式》阅读笔记 [TOC] 第4章:表达式的匹配原理 引擎 DFA (Deterministic Finite Automaton 确定有穷自动机): 常见的只有MySQL,文本主导,不支持反向引用和捕获括号,但快 传统型 NFA(Non-非): 大多数语言,表达式主导,编译快,内存少,写法不同有性能差异 标准 POSIX NFA: leftmost-longest,尝试所有确保最长 golang leftmost-first和leftmost-first都支持 混合:Tcl 等 规则 最左优先,尽可能多(匹配优先) 回溯 NFA 有两个可能时会根据 匹配优先* 还是 忽略优先*? 走其中一个分支,并保存备用状态 如果不成功再回溯尝试另一个分支 第5章:正则表...阅读全文

博文 2019-08-04 19:02:40 林万程

1>Golang字符串常用操作

字符,字节 // 字符串 s := "hello 皇甫村" // 单独的字母,汉字,符号表示一个字符 c1 := 'h' c2 := '皇' // 字节。一个字节=8bit(8个二进制位) // 一个'A' =1一个字节 // 一个utf8编码的汉字 '砂' = 一般占用3个字节 1kb = 1024字节 字符串 package main import ( "fmt" "strings" ) // 字符串相关操作 var s3 = "C:\\Windows\\SoftwareDistribution\\Download" func main() { // 字符串长度 fmt.Println(len(s3)) // 字符串拼接 name := "理想" world := "dsb" fmt.P...阅读全文

博文 2020-01-28 21:32:42 三人行大道

golang 模板语法使不解析html标签及特殊字符

场景 有时候需要使用go的模板语法,比如说用go 去渲染html页面的时候,再比如说用go的模板搞代码生成的时候。这时候可能会遇到一个麻烦,不想转译的特殊字符被转译了。 我遇到的情况是写代码生成器的时候,‘<’ 符号被转译了,导致channel 相关的部分有问题。 这个问题很简单,但是资料不多,我也是试了半天才发现。其实把包含特殊字符的字符串 先转成 template.HTML 类型再加载到文件里 就可以了。 解决 先看代码 t := template.New("initMysql") type NsqConsumerTpl struct { Names []string AngleBracket template.HTML } v := NsqConsumerTpl{ Names: nsq...阅读全文

Golang strconv包使用

开发十年,就只剩下这套Java开发体系了 >>> // atob.go ------------------------------------------------------------ // ParseBool 将字符串转换为布尔值 // 它接受真值:1, t, T, TRUE, true, True // 它接受假值:0, f, F, FALSE, false, False. // 其它任何值都返回一个错误 func ParseBool(str string) (value bool, err error) func main() { fmt.Println(strconv.ParseBool("1")) // true fmt.Println(strconv.ParseBool(...阅读全文

博文 2018-09-23 00:33:08 路人甲777

Go时间格式化和类型互换操作

获取本地时间 // get current timestamp currentTime := time.Now().Local() //print time fmt.Println(currentTime) 指定格式的日期字符类型 // get current timestamp currentTime := time.Now().Local() //format Time, string type newFormat := currentTime.Format("2006-01-02 15:04:05.000") fmt.Println(newFormat) 构造指定时间类型 //build Time 2016-02-17 23:59:59.999, DateTime type myTim...阅读全文

博文 2016-08-04 20:00:06 abcijkxyz

WTF——码农专属终端的仪表板

之前虫虫的文章中介绍过很多终端软件,也介绍过分屏神器Screen和Tmux但是毕竟他们使用配置有一点点的难度。那么有没有一款简单易用,界面美观的终端仪表板程序,实现各种所需信息的展示呢,答案是肯定的,那就是本文我们要介绍的另一个神器WTF。 WTF——码农专属终端的仪表板 WTF是一个简单,易于配置的终端信息仪表板。使用Golang语言编写的,使用简单的一个YAML配置和各种模块就可以从几个不同的源中提取我们所需数据。这些模块包括系统信息、安全信息、电源信息、天气、Git问题跟踪、国际时间,谷歌表格以及更多内容。也能实现交互式窗格,进行操作。 安装 WTF的安装很简单,可以直接安装下载适合你操作系统(Windows、Linux、MacOS )二进制包,下载解压就可以用。也可以下载源码编译安装...阅读全文

博文 2019-02-02 19:34:43 虫虫猎奇ccsearchit

《go语言圣经》练习3.12

# 题目 **编写一个函数,判断两个字符串是否是相互打乱的,也就是它们有着相同的字符,但是对应不同的顺序** # 代码 ```go package main import ( "fmt" "os" ) func disorder(s1, s2 string) bool { //判断两个字符串是否是相互打乱的 var count1, count2 int //count1 记录两个字符串中是否都有某个字符, //count2 记录若都有这个字符,那么位置是否相等 if len(s1) != len(s2) { //若两个字符串不相等,那么肯定不是相互打乱的 return false } for index1, value1 := range s1 { for index2, value2 :=...阅读全文

博文 2019-07-21 15:58:10 xiayanshangda