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

Go时间戳和日期字符串的相互转换

Go语言中,获取时间戳用time.Now().Unix(),格式化时间用t.Format,解析时间用time.Parse。 看实例代码: package main import ( "fmt" "time" ) func main() { //获取时间戳 timestamp := time.Now().Unix() fmt.Println(timestamp) //格式化为字符串,tm为Time类型 tm := time.Unix(timestamp, 0) fmt.Println(tm.Format("2006-01-02 03:04:05 PM")) fmt.Println(tm.Format("02/01/2006 15:04:05 PM")) //从字符串转为时间戳,第一个参数是格式...阅读全文

博文 2015-03-20 03:00:01 baiyuxiong

golang 使用 strings.Split 切割的注意

s := strings.Split("", "") fmt.Println(s, len(s)) s = strings.Split("abc,abc", "") fmt.Println(s, len(s)) s = strings.Split("", ",") fmt.Println(s, len(s)) s = strings.Split("abc,abc", ",") fmt.Println(s, len(s)) s = strings.Split("abc,abc", "|") fmt.Println(s, len(s)) fmt.Println(len("")) fmt.Println(len([]string{""})) str := "" fmt.Println(str[0]...阅读全文

博文 2014-10-04 19:27:43 984195889

golang 中strconv包用法

本文转自Golove博客:http://www.cnblogs.com/golove/p/3262925.html strconv 包中的函数和方法 // atob.go ------------------------------------------------------------ // ParseBool 将字符串转换为布尔值 // 它接受真值:1, t, T, TRUE, true, True // 它接受假值:0, f, F, FALSE, false, False. // 其它任何值都返回一个错误 func ParseBool(str string) (value bool, err error) package main import ( "fmt" "strconv" ...阅读全文

博文 2015-10-16 15:00:31 chenbaoke

golang 高效字符串拼接

以下内容摘自许世伟《go语言程序设计》: 连接字符串使用" + "或者使用slice拼接,"这2个转换都不是无代价的" 虽然方便,但是使用+=操作符并不是在一个循环中往字符串末尾追加字符串最有效的方式,一个有效的方式是准备好一个字符串切片([]string),然后使用strings.Join()函数一次性将所有字符串串联起来。但是在go中还有一个更好的方法,其原理类似于java中的stringBuilder package main import ( "bytes" "fmt" ) func main() { var buffer bytes.Buffer //Buffer是一个实现了读写方法的可变大小的字节缓冲 for { if piece, ok := getNextString(); ...阅读全文

博文 2015-06-17 20:04:00 u012210379

golang fmt.printf()

package main import "fmt" import "os" type point struct { x, y int } func main() { //Go 为常规 Go 值的格式化设计提供了多种打印方式。例如,这里打印了 point 结构体的一个实例。 p := point{1, 2} fmt.Printf("%v\n", p) // {1 2} //如果值是一个结构体,%+v 的格式化输出内容将包括结构体的字段名。 fmt.Printf("%+v\n", p) // {x:1 y:2} //%#v 形式则输出这个值的 Go 语法表示。例如,值的运行源代码片段。 fmt.Printf("%#v\n", p) // main.point{x:1, y:2} //需要打印值的...阅读全文

博文 2015-04-21 03:00:01 benlightning

golang 字符串比较是否相等

golang字符串比较的三种常见方法 fmt.Println("go"=="go") fmt.Println("GO"=="go") fmt.Println(strings.Compare("GO","go")) fmt.Println(strings.Compare("go","go")) fmt.Println(strings.EqualFold("GO","go")) 输出 true false -1 0 true 1,自建方法“==”,区分大小写,最简单的方法 2,Compare函数,区分大小写,比自建方法“==”的速度要快,下面是注释 / Compare is included only for symmetry with package bytes. // It is usual...阅读全文

博文 2018-08-13 14:31:03 oqqYuan1234567890

golang截取字符串

//截取字符串 start 起点下标 length 需要截取的长度 func Substr(str string, start int, length int) string { rs := []rune(str) rl := len(rs) end := 0 if start < 0 { start = rl - 1 + start } end = start + length if start > end { start, end = end, start } if start < 0 { start = 0 } if start > rl { start = rl } if end < 0 { end = 0 } if end > rl { end = rl } return stri...阅读全文

博文 2015-06-18 17:04:30 u012210379

golang 字符串查找 中间字符 截取

func GetBetweenStr(str, start, end string) string { n := strings.Index(str, start) if n == -1 { n = 0 } str = string([]byte(str)[n:]) m := strings.Index(str, end) if m == -1 { m = len(str) } str = string([]byte(str)[:m]) return str } func Substr(str string, start, length int) string { rs := []rune(str) rl := len(rs) end := 0 if start < 0 { start = ...阅读全文

博文 2014-10-04 19:27:22 lesou

golang判断字符串出现的位置及是否包含

判断子字符串或字符在父字符串中出现的位置(索引) Index 返回字符串 str 在字符串 s 中的索引( str 的第一个字符的索引),-1 表示字符串 s 不包含 字符串 str : strings.Index(s, str string) int LastIndex 返回字符串 str 在字符串 s 中最后出现位置的索引( str 的第一个字符的索引),-1 表示 字符串 s 不包含字符串 str : strings.LastIndex(s, str string) int 如果 ch 是非 ASCII 编码的字符,建议使用以下函数来对字符进行定位: strings.IndexRune(s string, ch int) int package main import ( "fmt" ...阅读全文

博文 2018-10-30 07:34:40 次序

GOLang 转义字符

\a 匹配响铃符 (相当于 \x07) 注意:正则表达式中不能使用 \b 匹配退格符,因为 \b 被用来匹配单词边界, 可以使用 \x08 表示退格符。 \f 匹配换页符 (相当于 \x0C) \t 匹配横向制表符(相当于 \x09) \n 匹配换行符 (相当于 \x0A) \r 匹配回车符 (相当于 \x0D) \v 匹配纵向制表符(相当于 \x0B) \123 匹配 8 進制编码所代表的字符(必须是 3 位数字) \x7F 匹配 16 進制编码所代表的字符(必须是 3 位数字) \x{10FFFF} 匹配 16 進制编码所代表的字符(最大值 10FFFF ) \Q...\E 匹配 \Q 和 \E 之间的文本,忽略文本中的正则语法 \\ 匹配字符 \ \^ 匹配字符 ^ \$ 匹配字符 $...阅读全文

golang strings包方法

package main import s "strings" //strings取个别名 import "fmt" //我们给 fmt.Println 一个短名字的别名,我们随后将会经常用到。 var p = fmt.Println func main() { //这是一些 strings 中的函数例子。注意他们都是包中的函数,不是字符串对象自身的方法,这意味着我们需要考虑在调用时传递字符作为第一个参数进行传递。 p("Contains: ", s.Contains("test", "es")) p("Count: ", s.Count("test", "t")) p("HasPrefix: ", s.HasPrefix("test", "te")) p("HasSuffix: ", s....阅读全文

博文 2015-04-21 03:00:01 benlightning

golang strconv Atoi Itoa 例子

http://www.dotcoo.com/golang-strconv-atoi-itoa golang strconv atoi itoa 在做任何项目的时候都要用到字符串和数字,相互转换是最近基本的操作,哈哈 这里就介绍golang怎么做这些事情 参考代码如下: package main import ( "strconv" ) func main() { i, err := strconv.Atoi("12345") if err != nil { panic(err) } i += 3 println(i) s := strconv.Itoa(12345) s += "3" println(s) ...阅读全文

博文 2014-10-05 20:58:32 DarkWingBoy

GoLang 字符串处理大全

package main import ( "fmt" "strings" //"unicode/utf8" ) func main() { fmt.Println("查找子串是否在指定的字符串中") fmt.Println(" Contains 函数的用法") fmt.Println(strings.Contains("seafood", "foo")) //true fmt.Println(strings.Contains("seafood", "bar")) //false fmt.Println(strings.Contains("seafood", "")) //true fmt.Println(strings.Contains("", "")) //true 这里要特别注意 fm...阅读全文

博文 2015-06-17 20:04:07 gzw13999

golang判断前缀后缀、包含关系

4.7.1 前缀和后缀 HasPrefix 判断字符串 s 是否以 prefix 开头: strings.HasPrefix(s, prefix string) bool HasSuffix 判断字符串 s 是否以 suffix 结尾: strings.HasSuffix(s, suffix string) bool package main import ( "fmt" "strings" ) func main() { var str string = "This is an example of a string" fmt.Printf("T/F? Does the string \"%s\" have prefix %s? ", str, "Th") fmt.Printf("%t\n...阅读全文

博文 2018-08-08 22:34:48 次序

golang base64加密与解密

base64的加密分为标准加密与URL的加密,这里简单介绍一下标准加密与解密。 先贴上代码吧 import "encoding/base64" var str = "ZHONGGUOnihao123" strbytes := []byte(str) encoded := base64.StdEncoding.EncodeToString(strbytes) decoded, err := base64.StdEncoding.DecodeString(encoded) decodestr := string(decoded) fmt.Println(decodestr, err) StdEncoding这个代表是的标准加密,如果使用的是URLEncoding,则是URL加密。 在加密时需要把...阅读全文

博文 2016-04-27 04:00:01 niechaoya

golang 格式化时间为字符串

package main import ( "fmt" "reflect" "time" ) func main() { //格式化字符串为时间 test, _ := time.Parse("2006-01-02", "2013-11-11") //时间增加 after, _ := time.ParseDuration("15m") fmt.Println(test) test = test.Add(after) fmt.Println(test) //格式化时间为字符串 t3 := test.Format("2006-01-02 15:04:05") fmt.Println(t3) //格式化时间为字符串,只保留年月日 t3 = test.Format("2006-01-02") fmt....阅读全文

博文 2014-10-04 19:26:12 forrestsun

go 中的字符串遍历

首先看下以下例子: package main import "fmt" func main(){ s := "我是中国人" for i:=0; i < len(s); i++{ fmt.Printf("%c", s[i]) } fmt.Printf("\n") for _, v := range s { fmt.Printf("%c", v) } fmt.Print("\n") } 输出结果: 我是中国人 我是中国人 通过len(s)和range遍历访问字符串元素有什么不同么? 首先来复习一下go语言的字符串表示,go语言有以下两种表示字符串的方法: 1、双引号,如:“gogogo\n”,使用转义字符 2、反引号,如:`gogogo\n`,不使用转义字符,字符串的内容将和...阅读全文

博文 2014-10-04 19:26:22 ricktian1226

Go时间戳和日期字符串的相互转换

package main import ( "fmt" "time" ) func main() { //获取时间戳 timestamp := time.Now().Unix() fmt.Println(timestamp) //格式化为字符串,tm为Time类型 tm := time.Unix(timestamp, 0) fmt.Println(tm.Format("2006-01-02 03:04:05 PM")) fmt.Println(tm.Format("02/01/2006 15:04:05 PM")) //从字符串转为时间戳,第一个参数是格式,第二个是要转换的时间字符串 tm2, _ := time.Parse("01/02/2006", "02/08/2015") fmt.P...阅读全文

博文 2017-02-10 12:23:42 谢权

golang 中的 类型判断

golang 中的 类型判断 类似于javascript中typeof 和 java中 instanceof 比如 var a interface{} newA,ok:=a.(string) 如果ok 是 true 则说明 变量a 是字符串类型,而newA就是string类型的变量,a的实际值 a.(type) 返回的是 a的 类型, 注意他返回的不是一个 字符串表示 string int 这样表示a的类型 a.(type)是和switch 搭配使用的 switch vtype:=v.(type){ case string: xxxxxxxxxxxxxxxxxx case int: xxxxxxxxxxxxxxxx case xxxxxx: xxxxxxxxxxxxx case []inte...阅读全文

博文 2014-10-04 19:26:13 suncaishen

golang md5及随机字符串

package encrypt import ( "crypto/md5" "encoding/hex" "math/rand" "time" ) // 生成32位MD5 func MD5(text string) string{ ctx := md5.New() ctx.Write([]byte(text)) return hex.EncodeToString(ctx.Sum(nil)) } // return len=8 salt func GetRandomSalt() string { return GetRandomString(8) } //生成随机字符串 func GetRandomString(len int64) string{ str := "0123456789abcd...阅读全文

博文 2015-11-03 11:00:06 lcj0304

golang中获取字符串长度的几种方法

一、获取字符串长度的几种方法 - 使用 bytes.Count() 统计 - 使用 strings.Count() 统计 - 将字符串转换为 []rune 后调用 len 函数进行统计 - 使用 utf8.RuneCountInString() 统计 例: str:="HelloWord" l1:=len([]rune(str)) l2:=bytes.Count([]byte(str),nil)-1) l3:=strings.Count(str,"")-1 l4:=utf8.RuneCountInString(str) fmt.Println(l1)fmt.Println(l2)fmt.Println(l3)fmt.Println(l4)打印结果:都是 9 二、strings.Count函数...阅读全文

博文 2017-03-05 13:56:19 skh2015java

golang utc时间转本地时间

代码如下 now := time.Now() year, mon, day := now.UTC().Date() hour, min, sec := now.UTC().Clock() zone, _ := now.UTC().Zone() fmt.Printf("UTC 时间是 %d-%d-%d %02d:%02d:%02d %s\n", year, mon, day, hour, min, sec, zone) year, mon, day = now.Date() hour, min, sec = now.Clock() zone, _ = now.Zone() fmt.Printf("本地时间是 %d-%d-%d %02d:%02d:%02d %s\n", year, mon, d...阅读全文

博文 2014-10-04 19:27:37 别人说我名字很长

Golang Aes 加密示例

Aes加密的一个示例。供各位参考. package main import ( "crypto/aes" "crypto/cipher" "fmt" ) func main() { aesEnc := AesEncrypt{} arrEncrypt, err := aesEnc.Encrypt("abcde") if err != nil { fmt.Println(arrEncrypt) return } strMsg, err := aesEnc.Decrypt(arrEncrypt) if err != nil { fmt.Println(arrEncrypt) return } fmt.Println(strMsg) } type AesEncrypt struct { } func...阅读全文

博文 2015-05-12 21:00:02 王岩0001

golang——rune使用详解

一、定义 经常在开源库中,能rune关键字,从golang源码中看出,它是int32的别名(-231~231-1),对于byte(-128~127),可表示的字符更多。 二、使用 由于rune可表示的范围更大,所以能处理一切字符,当然也包括中文字符。在平时计算中文字符,可用rune。 package main import ( "fmt" "unicode/utf8" ) func main() { var chinese = "我是中国人, I am Chinese" fmt.Println("chinese length", len(chinese)) fmt.Println("chinese word length", len([]rune(chinese))) fmt.Println...阅读全文

博文 2019-02-11 21:34:42 yushu1987

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...阅读全文

博文 2015-07-29 15:00:01 路人甲777

Go 数字转字符串,字符串转数字, 枚举

数字转字符串,字符串转数字 package main import ( "fmt" "strconv" ) func main() { // 80 转换成 "80" //number := 80 // //number_int :=strconv.Itoa(number) // //fmt.Println(number_int) //fmt.Printf("%T", number_int) // 如果不用这种的,可能转出来的不是你想象中的那样 //number := 80 // //number_str := string(number) // //fmt.Println(number_str) // number_str = P, 对应到了相应的ascci码上了 //fmt.Printf(...阅读全文

博文 2019-04-07 17:35:10 听砜

Golang String 包学习

strings 是一个很常见的类型,这里稍微总结一下一些常用函数,以备参考。 1、strings.Split 、strings.SplitAfter()、strings.SplitAfterN(), strings.SplitN(s,t,n) strings.Split~~strings.SplitN(s,t,n) strings.SplitAfter()、strings.SplitAfterN() names:="Nich~Noel~Geo~Tur" for _,name:=range strings.Split(names,"~"){ fmt.Printf("%s|",name) } fmt.Println() 结果: stringsSplit()----------------->Ni...阅读全文

博文 2015-02-13 19:00:01 XJ_HAHA

golang strings常用函数

package main import ( "fmt" "strings" ) func main() { s1 := " aBc" s2 := "100a" s3 := s1 + s2 fmt.Println(s3) fmt.Println(strings.HasPrefix(s3, "a")) //判断前缀 fmt.Println(strings.HasSuffix(s3, "0")) //判断后缀 fmt.Println(strings.Contains(s3, "9")) //字符串包含关系 fmt.Println(strings.Index(s3, "0")) //判断子字符串或字符在父字符串中出现的位置(索引) fmt.Println(strings.LastIndex(s3, ...阅读全文

博文 2018-08-15 00:34:58 次序

golang生成随机字符串

写了一个简单golang生成随机字符串的方法,分享出来,生成的都是大写的字母 func init() { r = rand.New(rand.NewSource(time.Now().Unix())) } func RandString(len int) string { bytes := make([]byte, len) for i := 0; i < len; i++ { b := r.Intn(26) + 65 bytes[i] = byte(b) } return string(bytes) } func TestRand(t *testing.T) { for i := 0; i < 10; i++ { fmt.Println(RandString(10)) } } 测试结果: ...阅读全文

博文 2018-08-11 19:34:57 AlberLiu

golang time时间类型转换

获取系统当前时间 now := time.Now()fmt.Println(now) 2017-06-20 17:45:30.6609668 +0800 CST time格式化为字符串 now := time.Now()formatNow := now.Format("2006-01-02 15:04:05")fmt.Println(formatNow) 2017-06-20 18:16:15 字符串转换为time local, _ := time.LoadLocation("Local")t, _ := time.ParseInLocation("2006-01-02 15:04:05", "2017-06-20 18:16:15", local)fmt.Println(t) 2017-0...阅读全文

博文 2017-06-20 11:06:07 shmily

Golang字符串格式化

Golang字符串格式化 package main import "fmt" type point struct { x, y int } func main() { // 格式化整型,使用`%d`是一种 // 标准的以十进制来输出整型的方式 // 有符号十进制整数(int)(%ld、%Ld:长整型数据(long),%hd:输出短整形。) fmt.Println("=====%d,输出十进制====") fmt.Printf("%d\n", 110) //Output: 110 // 输出整型的二进制表示方式 fmt.Println("=====%b,输出二进制====") fmt.Printf("%b\n", 110) //Output: 1101110 // 输出整型数值所对应的字符(c...阅读全文

Golang中字符串的一个坑

在C语言中,字符串的内存模型定义为以NUL(\x0)结尾的字节数组。这是为大家所熟知的。 但是在Golang中并不是如此,Golang中的字符串abc和abc\x0\x0并不相当,所以说Golang明确规定了字符串的长度,而不是以\x0为结尾来判断的。 下面看示例代码: package main import ( "fmt" "os" ) func main() { var a[5]byte = [5]byte{'a','b','c'} var b[]byte = []byte{'a','b','c'} fmt.Printf("len(a): %d, %q\n", len(a), a) fmt.Printf("len(b): %d, %q\n", len(b), b) slice_a := ...阅读全文

博文 2015-04-24 12:09:59 华子

Go语言截取字符串

go没有像php或js那样的Substr函数,而且如果直接用string加下标的方式输出的话,输出的是UTF8编码。 Go语言中用下标访问string类型(中文字符),输出的是什么编码? 下面提供简单的字符串截取方法: rs := []rune(str) fmt.Println(string(rs[起始位置:截取长度])) $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('

    ').addClass('pre-numbering').hide(); $(this).addClass(...阅读全文

博文 2016-04-30 00:00:02 Jesounao

golang处理 json中非法字符

文: Hi there, I just discovered Go and decided to port a little program to Go. The program reads JSON-Data from an URL and process the Data. The Go port works well till now. I dont have any influence on the JSON data and so sometimes there are control character in it and my program crashes with "invalid character '\x12' in string literal" here the c...阅读全文

博文 2015-03-13 03:00:01 zhangqingping

Go语言里边的字符串和数组

/*640*60,创建于2013-5-24*/ var cpro_id = "u1290382"; go语言里边的字符串处理和PHP还有java 的处理是不一样的,首先申明字符串和修改字符串 [php] package main import "fmt" var name string //申明一个字符串 var emptyname string = "" //申明一个空字符串 func main() { //申明多个字符串并且赋值 a, b, v := "hello", "word", "widuu" fmt.Println(a, b, v) //转换字符串的内容,先转换a的类型为[]byte c := []byte(a) //赋值 c[0] = ‘n’ //在转换成字符串类型,其实我们发...阅读全文

golang的mahonia字符集转换工具用法

本打算用iconv-go的,但是编译后出很多问题,还找不到cannot find -liconv,因时间问题就暂时改用mahonia。 下载mahonia代码,放在某个地址,然后引用该地址(细节空闲了补); 然后如下 将byte数组转换成指定字符集: 关键语句如下 d := NewDecoder(目标字符集名) str := d.ConvertString(要转换的字符串) 一下是完整内容 待续... 将某字符集byte数组转换成指定字符集字符串: 关键语句 func ConvertToString(src string, srcCode string, tagCode string) string { srcCoder := mahonia.NewDecoder(srcCode) srcR...阅读全文

博文 2014-10-11 10:00:01 weilai

golang beego接受post json字符串解析返回JSON数据

在 API 的开发中,我们经常会用到 JSON 或 XML 来作为数据交互的格式,如何在 beego 中获取 Request Body 里的 JSON 或 XML 的数据呢? 在配置文件里设置 copyrequestbody = true在 Controller 中json 用来解析JSON的包ob定义的struct func (this *ObjectController) Post() { var ob models.Object json.Unmarshal(this.Ctx.Input.RequestBody, &ob) objectid := models.AddOne(ob) this.Data["json"] = "{\"ObjectId\":\"" + objectid + ...阅读全文

博文 2016-11-22 14:00:02 shachao888

golang截取中文字符串

1.问题: 在golang中可以通过切片截取一个数组或字符串,但是当截取的字符串是中文时,可能会出现的问题是:由于中文一个字不只是由一个字节组成,所以直接通过切片可能会把一个中文字的编码截成两半,结果导致最后一个字符是乱码。 例如: 想要截取前四个字 name := "我是胡八一" fmt.Println("name[:4] = ",name[:4]) 执行后得到的结果会是这样的: name[:4] = 我? 2.解决方法: 先将其转为[]rune,再截取后,转会string nameRune := []rune(name) fmt.Println("string(nameRune[:4]) = ",string(nameRune[:4])) 运行结果: string(nameRune[:4...阅读全文

博文 2016-04-09 17:00:06 vrinux

golang字符串首字母转化为大写

字符串首字母转化为大写 /** * 字符串首字母转化为大写 ios_bbbbbbbb -> iosBbbbbbbbb */ func strFirstToUpper(str string) string { temp := strings.Split(str, "_") var upperStr string for y := 0; y < len(temp); y++ { vv := []rune(temp[y]) if y != 0 { for i := 0; i < len(vv); i++ { if i == 0 { vv[i] -= 32 upperStr += string(vv[i]) // + string(vv[i+1]) } else { upperStr += stri...阅读全文

博文 2016-11-27 15:00:04 yang8023tao

Go 字符串编码,Unicode 和UTF-8

1.字符串字符串在Go语言中以原生数据类型出现,使用字符串就像使用其他原生数据类型(int、bool、 float32、foat64等)一样。 字符串的值为双引号中的内容,可以在Go语言的源码中直接添加非ASCⅡ码字符 Go语言的字符串常见转义符包含回车、换行、单双引号、制表符等,如下所示 转移符 含义 \r 回车符(返回行首) \n 换行符(直接跳到下一行的同列位置) \t 制表符 \' 单引号 \" 双引号 \\ 反斜杠 2.字符串实现基于UTF-8编码 go 语言里的字符串的内部实现使用UTF8编码. 通过rune类型,可以方便地对每个UTF-8字符进行访问。 当然,Go语言也支持按传统的ASCII码方式进行逐字符访问。 3.字符 字符串中的每一个元素叫做“字符”,在遍历或者单个获取字...阅读全文

博文 2019-06-01 23:04:38 nicce

golang深度拷贝map

最简单的方法是用json unmarshal,变成字符串,然后再用 json marshal生成新的map。这种方法对结构体也适用。 如果是map[string]interface{}和[]interface{}的组合,用代码递归也很简单: func DeepCopy(value interface{}) interface{} { if valueMap, ok := value.(map[string]interface{}); ok { newMap := make(map[string]interface{}) for k, v := range valueMap { newMap[k] = DeepCopy(v) } return newMap } else if valueSli...阅读全文

博文 2016-09-03 09:00:04 xtxy

golang -- ToString

字符串拼接 package str import ( "strconv" ) func ToString(args ...interface{}) string { result := "" for _, arg := range args { switch val := arg.(type) { case int: result += strconv.Itoa(val) case string: result += val } } return result } 使用ToString("abcd", 12, 45) => abcd124...阅读全文

博文 2014-10-04 19:26:56 flyking

Go语言 字符串

在所有编程语言中都涉及到大量的字符串操作,可见熟悉对字符串的操作是何等重要。 Go中的字符串和C#中的一样(java也是),字符串内容在初始化后不可修改。 需要注意的是在Go中字符串是有UTF-8编码的,请注意保存文件时将文件编码格式改成UTF-8(特别是在windows下)。 初始化 var str string //声明一个字符串 str = "laoYu" //赋值 ch :=str[0] //获取第一个字符 len :=len(str) //字符串的长度,len是内置函数 ,len=5 字符串操作 编码过程中避免不了中文字符,那我们该如何提取一个中文呢?首先我们要知道string[index]获取的是字符byte,就无法像C#中"老虞"[0]来取到‘老’,在Go中需要将字符串转换成r...阅读全文

博文 2014-10-30 03:00:01 ghgyj