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

Golang strconv包使用

// 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("t")) // true fmt.Println...阅读全文

Golang(Go语言)代码技巧之字符串(string)

改变字符串中的某些字符str := "hello roc"bytes := []byte(str)bytes[1] = 'a'str = string(bytes) //str == "hallo roc"截取子串substr := str[n:m] //截取从索引n到m-1的子串遍历字符串//for遍历,此方式只能遍历存放ASCII//编码的字符串,比如中文就不行for i := 0; i < len(str); i++ {//... = str[i]}//for-range遍历,此方式可以遍历Unicode//编码的字符串,不担心乱码for index, char := range str {fmt.Printf("%d %c\n",index,char)}计算字符串长度//字符串中字符...阅读全文

博文 2017-12-27 01:41:43 zr_go

golang 字符转换

package main import ( "bytes" "golang.org/x/text/encoding/simplifiedchinese" "golang.org/x/text/transform" "io/ioutil" "fmt" ) func GbkToUtf8(s []byte) ([]byte, error) { reader := transform.NewReader(bytes.NewReader(s), simplifiedchinese.GBK.NewDecoder()) d, e := ioutil.ReadAll(reader) if e != nil { return nil, e } return d, nil } func Utf8ToGbk(s ...阅读全文

博文 2018-04-09 12:33:04 知止software

golang之字符串处理

web开发时常要对字符串处理,特记录以下函数。 copy自:build-web-application-with-golang 字符串s中是否包含substr func Contains(s, substr string) bool fmt.Println(strings.Contains("seafood", "foo")) fmt.Println(strings.Contains("seafood", "bar")) fmt.Println(strings.Contains("seafood", "")) fmt.Println(strings.Contains("", "")) //Output: //true //false //true //true 2.字符串链接 func Jo...阅读全文

博文 2019-10-14 20:33:09 aside section ._1OhGeD

LDAP初探

简介 LDAP服务器的概念和原理简单介绍 LDAP是轻量目录访问协议(Lightweight Directory Access Protocol)的缩写,相同的目录服务软件有Active Directory 目录服务优点: 为查询、浏览、搜索优化的专业分布数据库,树状结构,类似linux文件目录。 优秀的读性能、写性能差,没有事务处理、回滚等复杂操作。 用于查询的信息系统,比如:企业员工信息(姓名、电话)、公司物理设备信息(IP、厂商) 概念 LDAP中CN、OU、DC 记录项 Entry ​ LDAP中最基本单位。类似数据库一条记录,对LDAP的添加、删除、更改、检索都以条目为基本对象。 dn:条目的唯一标识(distinguished Name),类似索引。如dn:"cn=baby,ou...阅读全文

博文 2019-06-27 12:32:42 度_73ea

十六进制字符串转换为二进制,试过多个方法,求解?

类似这样的字符串(96659ee67b39f2d9c3418cddaa307c5e1640a6e883f3fa9540e846ad1221b990ba9ac28ebb2e4daf2ea039cc929b9e7d6),希望实现和php的hex2bin一样的效果,试过fmt.Sprintf,strconv.ParseUint等多个方法,Stack Overflow也找过,并没有完全解决的方法,主要是转换之后的长度不对,希望有接触过这个的解一下惑...阅读全文

Go语言中的字符串处理

## 1 概述 字符串,string,一串固定长度的字符连接起来的字符集合。Go语言的字符串是使用UTF-8编码的。UTF-8是Unicode的实现方式之一。 Go语言原生支持字符串。使用双引号("")或反引号(\`\`)定义。 双引号:"", 用于单行字符串。 反引号:\`\`,用于定义多行字符串,内部会原样解析。 示例: ``` // 单行 "心有猛虎,细嗅蔷薇" // 多行 ` 大风歌 大风起兮云飞扬。 威加海内兮归故乡。 安得猛士兮守四方! ` ``` 字符串支持转义字符,列表如下: * \r 回车符(返回行首) * \n 换行符(直接跳到下一行的同列位置) * \t 制表符 * \' 单引号 * \" 双引号 * \\\\ 反斜杠 * \uXXXX Unicode字符码值转义,例如...阅读全文

博文 2018-10-30 22:04:54 hanzkering

Go语言的字符串转换的处理一之strconv包

// code_028_strings_strconv project main.go package main import ( "fmt" "strconv" ) //strings和strconv包中的函数--->>> //strings包,字符处理:Contains,Join,Index,Repeat,Replace,Split,Trim, Fields //strconv包,字符转换: //1) Append添加字符串元素:AppendInt,AppednBool,AppendQuote, AppendQuoteRune //2) Format格式化程字符串:FormatBool(false),FormatInt(1234, 10),FormatUint(12345, 10),It...阅读全文

博文 2018-10-06 16:35:13 ck_god

go语言 类型:字符串

示例 package main import ( "fmt" ) func main() { var str1 string // 声明一个字符串变量 str1 = "Hello world" // 字符串赋值 ch := str1[0] // 取字符串的第一个字符 fmt.Println(ch) //输出 73 fmt.Printf("%c\n", ch) //输出 H str2 := "Hello osfipin" // 字符串也支持声明时进行初始化的做法 //str2[0] = 'X' //编译错误 fmt.Println(len(str2)) //输出 13 str2 = "我爱you" fmt.Println(len(str2)) //输出 9 str3 := str2 + "ma...阅读全文

博文 2015-10-09 11:00:11 osfipin

golang判断混合字符长度

blog.golang.org/strings1、const nihongo = "日本語" for index, runeValue := range nihongo { fmt.Printf("%#U starts at byte position %d\n", runeValue, index) }2、const nihongo = "日本語"for i, w := 0, 0; i < len(nihonggo); i+=w { runeValue, width := utf8.DecodeRuneInString(nihonggo[i:]) fmt.Printf("%#U starts at byte position %d\n", runeValue, i) w = width...阅读全文

博文 2017-07-01 20:00:01 leving

go语言细节

数组与字符串为值类型,切片、映射、通道为值类型,赋值需注意。 1 package main 2 3 import ( 4 "fmt" 5 ) 6 7 func main() { 8 //数组 9 a1 := [3]int{1, 2, 3} 10 a2 := a1 11 a2[0] = 2 12 fmt.Println(a1) //print: 1 2 3 13 fmt.Println(a2) //print: 2 2 3 14 // 字符串 15 s1 := "123" 16 s2 := s1 17 s2 = "223" 18 fmt.Println(s1) //print 123 19 fmt.Println(s2) //print 223 20 // 切片 21 slice1 := []...阅读全文

博文 2015-11-24 03:00:00 --xiaoyao--

Golang 取文本(字符串)中间

文:https://studygolang.com/articles/780 func GetBetweenStr(str, start, end string) string { n := strings.Index(str, start) if n == -1 { n = 0 } else { n = n + len(start) // 增加了else,不加的会把start带上 } str = string([]byte(str)[n:]) m := strings.Index(str, end) if m == -1 { m = len(str) } str = string([]byte(str)[:m]) return str ...阅读全文

博文 2018-12-06 12:34:43 大华日记

Go实例学:数值

Go有很多种数据类型,包括字符串类型,整型,浮点型,布尔型等等,这里有几个基础的例子。 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) } 输出结果为 golang 1+1 = 2 7.0/3.0 = 2.3333333333333335 false true fals...阅读全文

博文 2014-11-28 16:00:02 Goopand

go reflect 3 rules

1. Reflection goes from interface value to reflection Object. 反射可以从接口值得到反射对象 使用到reflect methods: reflect.ValueOf(i interface{}) Value reflect.TypeOf(i interface{}) Type 2. Reflection goes from refelction object to interface value. 反射可以从反射对象获得接口值 使用到reflect methods: reflect.New(typ Type) Value reflect.Zero(typ Type) Value func (v Value) Type() Type ...阅读全文

博文 2015-11-10 22:00:00 hittata

Zabbix 5.0 邀您探索新功能!你喜欢的样子我都有?!

Zabbix 4.4陪伴大家走过美好时光,为了满足您实现更好的监控效果,Zabbix5.0全新升级,重磅发布!先看一下目录(不长~),小编再为您详细介绍新功能,欢迎大家下载Zabbix 5.0探索新功能,邀请您移步社群交流,我们重视您的体验和建议!Zabbix 5.0新功能 目录 您可以选择:在本地或云端部署 基于SAML身份验证的单点登录 安全可靠的监控 机密信息更安全 可扩展性和性能 新一代agent的官方支持 易于使用和管理的监控 灵活监控您想要的任何对象 自动化和发现 高级可视化 与ITSM系统的内嵌集成 与告警系统的内嵌集成 全新的和升级的模板和插件 根据您的需要调整Zabbix,请贡献力量! Zabbix 5.0 LTS更多新全新和升级的特点 辞旧迎新,以更快地构建更好的产品 更...阅读全文

博文 2020-05-12 19:32:59 Zabbix__China

Go语言:"" 与 `` 包裹字符串的区别

"" 与 `` 包裹字符串的区别 解析: 使用 "" 包裹的字符串 会解析 字符串中的 转义符 使用 `` 包裹的字符串 不会解析 字符串中的 转义符 性能: 使用 "" 包裹的字符串 性能 比较慢 到 极慢(由 转义符 和 字符串的长度 决定) 使用 `` 包裹的字符串 性能 极快 说明: 字符串 实际上是 字符数组(学过 其他编程语言 的可能都知道,据我所知 GoLang 的书籍都 没讲过 或 没重点讲) 解析 会 遍历 整一个 字符串 (字符数组),寻找可以 解析 的 转义符,不管 原先字符串里 有没有 转义符,都会 遍历一次 不解析 则会 直接输出 测试用的代码实例 package main import "time" func main() { str1 := "" // 用于保存...阅读全文

博文 2019-06-21 21:32:42 海东总司

Go中数字转换字符串的正确姿势

在许多语言中,你可以轻松地将任何数据类型转换为字符串,只需将其与字符串连接,或者使用类型转换表达式即可。但是,如果你在Go中尝试执行似乎很明显的操作(例如将int转换为字符串),你不太可能获得预期的效果。 比如下面: string(120) 你期望返回的结果是什么?如果你有使用其他编程语言的经验,那么大多数人的猜测是“ 123”。相反,在Go中上面的类型转换会得到“ E”之类的值,那根本不是我们想要的。因为string()会直接把字节或者数字转换为字符的UTF-8表现形式。 所以在Go中将byte或者int类型的值转换为数字的字符串表现形式的正确方法是使用strconv包中的方法,比如strconv.Itoa。 strconv.Itoa(120)// 返回"120" 下面的例子,可以试着把s...阅读全文

hex和base32和base64的区别与联系

基本概念 hex也称为base16,意思是使用16个可见字符来表示一个二进制数组,编码后数据大小将翻倍,因为1个字符需要用2个可见字符来表示。 base32,意思是使用32个可见字符来表示一个二进制数组,编码后数据大小变成原来的8/5,也即5个字符用8个可见字符表示,但是最后如果不足8个字符,将用=来补充。 base64,意思是使用64个可见字符来表示一个二进制数组,编码后数据大小变成原来的4/3,也即3个字符用4个可见字符来表示。 用例 看个例子: package main import "fmt" import "encoding/hex" import "encoding/base32" import "encoding/base64" func main() { s := "hell...阅读全文

博文 2017-08-28 02:35:02 因心而来

Go语言类型转换

摘自快乐编程 » golang类型转换 golang是强类型语言,在应用过程中类型转换基本都会用到。下面整理一下常用的类型转换,会持续更新。 整形转字符串 fmt.Println(strconv.Itoa(100)) 该方法的源码是: // Itoa is shorthand for FormatInt(i, 10).func Itoa(i int) string { return FormatInt(int64(i), 10)} 可以看出是FormatInt方法的简单实现。 字符串转整形 i, _ := strconv.Atoi("100")fmt.Println(i) 64位整形转字符串 var i int64i = 0x100fmt.Println(strconv.FormatInt(...阅读全文

博文 2017-07-20 04:00:01 luckybookmarks

Struct含有匿名字段,该匿名字段有MarshalJSON方法,导致Struct不能正确转换成json字符串!!

这是问题的原地址: [http://stackoverflow.com/questions/38489776/idiomatic-way-to-embed-struct-with-custom-marshaljson-method](http://stackoverflow.com/questions/38489776/idiomatic-way-to-embed-struct-with-custom-marshaljson-method "http://stackoverflow.com/questions/38489776/idiomatic-way-to-embed-struct-with-custom-marshaljson-method") 目前我遇到,解决方法是有的,但找...阅读全文

GoLang 日期时间格式化&反向日期时间

日期格式化时区 time := time.Now() loc, err := time.LoadLocation("") // 默认UTC loc, err := time.LoadLocation("Local") // 一般为CST loc, err := time.LoadLocation("America/Los_Angeles") // 美国洛杉矶PDT loc, _:= time.LoadLocation("Asia/Chongqing") // CST 获取当前时间并格式化 // 格式化 // golang中格式不是‘yyyy-MM-dd HH:mm:ss’,而是采用golang诞生时间作为格式 t = "2006-01-02 15:04:05" time := time.No...阅读全文

博文 2017-09-12 16:05:23 栈木头

go 字符串

什么是字符串? 定义 字符串是一个不可改变的字节序列。 字符串的定义 package main import "fmt" import "strings" import "strconv" func stringtest() { var name string = "Cloud natic cloud" fmt.Println(name) 输出 Cloud natic cloud // 常用方法 // 1、转译 字符 \n \t address := "中国\n上海" fmt.Println(address) 输出 中国 上海 // 2、反引号,以原生形式输出,包括特殊字符,防止注入*** var address2 string = ` 上海迪士尼度假乐园\n 浦东 上海 静安寺 上海\n...阅读全文

博文 2020-01-08 23:33:13 水滴石川1

go6~byte切片trim掉C填充的0

2017.06.02 golang用bytes.TrimSpace无法去掉C初始化数组带来的\0 Golang中字符串与C中的字符串的不同之处:C中的字符串是以\x0为结尾的字节序列,而Golang中的字符串则更严格,并不是以\x0为结尾来判断,而是计算字符串变量的值中的所有字节。 TrimSpace处理的只是空格 解决办法是bytes.Time text = bytes.Trim(text, "\x00"...阅读全文

博文 2017-06-02 03:06:58 摹喵居士

golang关于json库的一个比较容易陷入的坑 uint8[]数组的json转换问题.

类似这个CA如果实例转化成json.List会变成字符串. type CA struct { List []uint8 } func main() { ca := CA{[]uint8{1,2,3,4,5,6,7,8,9,0}} r, _ := json.Marshal(ca) fmt.Println(string(r)) //{"List":"AQIDBAUGBwgJAA=="} } 而我们希望的是要一个正常的json. 只有 int8 byte uint8 这种8位的json库会给我们当成字符串处理.想要解决.如果拍脑袋就不能用这几种类型了.需要使用16 32 64位的数字才可以正常转换成json字符串. {"List":[1,2,3,4,5,6,7,8,9,0]} 但是不用担心. Un...阅读全文

博文 2015-06-17 20:17:45 spiritring

Go语言中多字节字符的处理

1 概述 Go语言的字符串是使用 UTF-8 编码的。UTF-8 是 Unicode 的实现方式之一。本文内容包括:UTF-8 和 Unicode 的关系,Go语言提供的 unicode 包和 unicode/utf8 包的使用。 2 UTF-8 和 Unicode 的关系 Unicode一种字符集,是国际标谁化组织(ISO)设计的一个包括了地球上所有文化、所有字母和符号 的编码。他们叫它 Universal Multiple-Octet Coded Character Set,简称 UCS,也就是 Unicode。Unicode 为每一个 字符 分配一个唯一的 码点(Code Point),就是一个唯一的值。例如 康 的码点就是 24247,十六进制为 5eb7。Unicode 字符集仅仅...阅读全文

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

golang快速解析字符串日期为本地时间

// 默认解析到UTC时间 t, err := time.Parse("2006-01-02-03", "2018-11-12-08") if err != nil { log.Fatal(err) } log.Println(t) // 解析到本地时间需要指定时区 t, err = time.ParseInLocation("2006-01-02-03", "2018-11-12-08", time.Local) if err != nil { log.Fatal(err) } log.Println(t) // 输出 2018/11/22 08:56:57 2018-11-12 08:00:00 +0000 UTC 2018/11/22 08:56:57 2018-11-12 08:00...阅读全文

博文 2018-11-22 14:34:43 不浪人

golang不同时区时间字符串的转化

golang不同时区时间字符串的转化 使用场景: 已知一个字符串时间"2020-01-30 15:30:30", 转化成不同的时区时间。 假设上述字符串是CST时间,那么如何知道此时的UTC时间对应的字符串呢,以及反过来的需求。 这里实现两个golang函数,把时间字符串和时区转化成UTC时间字符串,和把UTC字符串转化成给定的时区字符串: package main import ( "fmt" "time" ) const LOGTIMEFORMAT = "2006-01-02 15:04:05" func utcToZone(t string, zone string) (string, error) { d, err := time.Parse(LOGTIMEFORMAT, t) if...阅读全文

博文 2020-01-31 18:32:41 CodingCode

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

版权声明:本文为Sunface(孙飞)原创文章,转载请注明出处 https://blog.csdn.net/abv123456789/article/details/50907392 字符串是不可变的字节序列,虽然可以包含任意数据,包括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...阅读全文

博文 2019-03-17 13:12:31 erlib

gf框架之gvalid – 强大灵活的数据校验/表单校验模块

gf提供了非常强大易用的数据校验功能,通过gvalid包提供,封装了40种常用的校验规则,支持单数据多规则校验、多数据多规则批量校验、自定义错误信息、自定义正则校验等特性。由于gf是模块化、低耦合设计,gvalid包也可以在项目中单独引入使用。 使用方式: import "gitee.com/johng/gf/g/util/gvalid" 校验规则 40种常用的校验规则: required 格式:required 说明:必需参数 required-if 格式:required-if:field,value,... 说明:必需参数(当任意所给定字段值与所给值相等时,即:当field字段的值为value时,当前验证字段为必须参数) required-unless 格式:required-unle...阅读全文

values _ golang

go 有各种数据类型 (string, integer, float, boolean....) fmt.Println <- 在使用它的时候, 无非输出 , 字符串, 基本类型(integer..), boolean 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, 8) fmt.Println(true && false) fmt.Println(true) }运行结果 : [ `go run values001.go` | done: 161.872886ms ] golang...阅读全文

博文 2015-03-11 03:00:00 jackkiexu

golang生成指定范围内的随机数,拼接拆分字符串

package main import ( "fmt" "strings" "math/rand" ) func main() { str := "zhongGuo_ZuiMeiLiDe_DiFang_ShiNaLi?" s1 := strings.Fields(str)//将会利用 1 个或多个空白符号来作为动态长度的分隔符将字符串分割成若干小块 fmt.Println("-------s1------------",s1) for _,val:=range s1 { fmt.Println(val+"\n") } s2:=strings.Split(str,"_")//拆分字符串 fmt.Println("-------s2 len------------",len(s2)) for i...阅读全文

博文 2018-08-17 10:34:56 次序

golang tips

回调函数的用法 //一个记录日志的类型:func(string) type saveLog func(msg string) //将字符串转换为int64,如果转换失败调用saveLog func stringToInt(s string, log saveLog) int64 { if value, err := strconv.ParseInt(s, 0, 0); err != nil { log(err.Error()) return 0 } else { return value } } //记录日志消息的具体实现 func myLog(msg string) { fmt.Println("Find Error:", msg) } func main() { stringToInt(...阅读全文

博文 2014-10-04 19:26:45 kuerant

go 字符串连接 和 MD5加密

go 字符串连接有多种方法,buf 缓冲区的方法执行速度较快,该方法需要包含的包是:【byte】 go MD5加密方法,这里直接对一串字符串计算MD5。其中,通过md5.New()初始化一个MD5对象,其实它是一个hash.Hash对象。函数原型为 func New() hash.Hash 。 该对象实现了hash.Hash的Sum接口:计算出校验和。其函数原型 为 func Sum(data []byte) [Size]byte 是对hash.Hash对象内部存储的内容进行校验和计算,然后将其追加到data的后面形成一个新的byte切片,因此通常的使用方法就是将data置为nil。 该方法返回一个Size大小的byte数组,对于MD5来说就是一个128bit的16字节byte数组。这里通过...阅读全文

博文 2016-10-15 04:00:05 ssd7sql

Go字符集编码转换

title: Go字符集编码转换 tags: Go 背景 从文本中读取内容的时候发现中文乱码 问题:在 Golang 的调试过程中出现中文乱码 原因:Golang 默认不支持 UTF-8 以外的字符集 解决:将字符串的编码转换成UTF-8 前提 首先我们需要使用mahonia 这个包,可以使用命令安装。 go get github.com/axgle/mahonia 使用方法 导入mahonia import "github.com/axgle/mahonia" 编写以下函数 func ConvertToString(src string, srcCode string, tagCode string) string { srcCoder := mahonia.NewDecoder(srcC...阅读全文

博文 2019-03-28 20:34:43 Clown95

Golang 高效字符串拼接

go 用 strings.Builder 代替普通的 + 号拼接, 在本人的项目中性能有 8 ~15倍的提升,之前写的太差了。 golang code 代码是很简单的 var puts fmt.Sprintf var builder strings.Builder builder.WriteString(puts("0x%x,", blkHash)) builder.WriteString(puts("%d,", blkHeader.Number)) builder.WriteString(puts("0x%x,", getFromAddr(tx, big.NewInt(int64(i))))) builder.WriteString(puts("0x%x,", txGas)) builde...阅读全文

博文 2019-11-03 23:33:41 aside section._1OhGeD

go MD5 HASH 算法使用

package main import ( "crypto/md5" "crypto/sha1" "fmt" "io" ) //对字符串进行MD5哈希 func a(data string) string { t := md5.New() io.WriteString(t, data) return fmt.Sprintf("%x", t.Sum(nil)) } //对字符串进行SHA1哈希 func b(data string) string { t := sha1.New() io.WriteString(t, data) return fmt.Sprintf("%x", t.Sum(nil)) } func main() { var data string = "abc" ay := ...阅读全文

博文 2016-11-17 11:00:04 u011082316

Go 基本类型转换

整形到字符串: var i int = 5 var s string s = strconv.Itoa(i) 或者 s = FormatInt(int64(i), 10) 字符串到整形 var s string = "5" var i int i, err = strconv.Atoi(s) 或者 i, err = ParseInt(s, 10, 0) 字符串到float(32 / 64) var s string = 5 var f float32 f, err = ParseFloat(s, 32) float 64的时候将上面函数中的32转为64即可 整形到float或者float到整形 直接使用float(i) 或者 int(f) 直接进行转换即...阅读全文

博文 2017-02-10 14:44:48 yin32167

golang封装结果集

之前找过很多结果集封装都不是很好,所以自己封装了下。 strFirstToUpper 字符串首字母转化为大写 /** * 封装结果集 */ func RowResult(rows *sql.Rows) []interface{} { //字典类型 //构造scanArgs、values两个数组,scanArgs的每个值指向values相应值的地址 columns, _ := rows.Columns() values := make([]sql.RawBytes, len(columns)) scanArgs := make([]interface{}, len(values)) for i := range values { scanArgs[i] = &values[i] } var r...阅读全文

博文 2016-11-29 07:00:04 yang8023tao