Go语言实现字符串切片赋值的方法小结
前言
在所有编程语言中都涉及到大量的字符串操作,可见熟悉对字符串的操作是何等重要。本文通过示例详细介绍了Go语言实现字符串切片赋值的方法,感兴趣的朋友们跟着小编一起来看看吧。
1. 在for循环的range中
func StrRangeTest() { str := []string{"str1", "str2", "str3"} for i, v := range str { fmt.Println(i, v) v = "test" } fmt.Println(str)}
结果:对v的赋值,不会改变字符创切片的值。
0 str1 1 str2 2 str3 [str1 str2 str3]
结论:range是赋值拷贝
2. 在函数的参数传递
func Handler() { strArr := []string{"str1", "str2", "str3"} fmt.Println("before call func:", strArr) strFuncTest(strArr) fmt.Println("after call func:", strArr) } func strFuncTest(strArr []string) { strArr[0] = "test" }
结果:函数中对字符串切片的赋值,会改变原切片的值。
[str1 str2 str3] [test str2 str3]
结论:函数参数的传递是传指针
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。
相关推荐
-
Go语言使用字符串的几个技巧分享
一.字符串底层就是一个字节数组 这真的非常重要,而且影响着下面的其他几个技巧.当你创建一个字符串时,其本质就是一个字节的数组.这意味着你可以像访问数组一样的访问单独的某个字节.例如,下面的代码逐个打印字符串中的每个字节以及对应字节数组中的每个字节: package main import "fmt" func main() { str := "hello" for i := 0; i < len(str); i++ { fmt.Printf("%b
-
Go语言截取字符串函数用法
本文实例讲述了Go语言截取字符串函数用法.分享给大家供大家参考.具体如下: 复制代码 代码如下: func Substr(str string, start, length int) string { rs := []rune(str) rl := len(rs) end := 0 if start < 0 { start = rl - 1 + start } end = start + length
-
Go语言编程中字符串切割方法小结
1.func Fields(s string) []string,这个函数的作用是按照1:n个空格来分割字符串最后返回的是 []string的切片 复制代码 代码如下: import ( "fmt" "strings" ) func main() { fmt.Println(strings.Fields("hello widuu golang")) //out [hello widuu golang] } 2.func FieldsFun
-
Go语言写入字符串到文件的方法
本文实例讲述了Go语言写入字符串到文件的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import "fmt" import "os" func main() { fileName := "test.dat" dstFile,err := os.Create(fileName) if err!=nil{ fmt.Println(err.Error())
-
Go语言声明一个多行字符串的变量
Go如何声明一个多行字符串的变量?使用 ` 来包含即可. package main import ( "fmt" ) func main() { str := `hello world v2.0` fmt.Println(str) } Demo:http://play.golang.org/p/BOL8_SwQ0D 以上所述就是本文的全部内容了,希望大家能够喜欢.
-
go语言按显示长度截取字符串的方法
本文实例讲述了go语言按显示长度截取字符串的方法.分享给大家供大家参考.具体分析如下: 根据显示长度截取字符串,之前php用的utf8编码,10个英文和10个汉字的显示长度差距太大,按字节截取的话又会出错出现截取半个汉字的情况,所以写了这两个函数. 这两天在折腾golang,所以就用golang重写了着连个函数.代码如下: 复制代码 代码如下: package main import ( "fmt" ) func main() { fmt.Println(show_st
-
Go语言按字节截取字符串的方法
本文实例讲述了Go语言按字节截取字符串的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: // 按字节截取字符串 utf-8不乱码 func SubstrByByte(str string, length int) string { bs := []byte(str)[:length] bl := 0 for i:=len(bs)-1; i>=0; i-- { switch { case bs[i] >= 0 &
-
Go语言中字符串的查找方法小结
1.func Contains(s, substr string) bool这个函数是查找某个字符是否在这个字符串中存在,存在返回true 复制代码 代码如下: import ( "fmt" "strings" ) func main() { fmt.Println(strings.Contains("widuu", "wi")) //true fmt.Println(strings.Contains("wi
-
Golang编程实现删除字符串中出现次数最少字符的方法
本文实例讲述了Golang编程实现删除字符串中出现次数最少字符的方法.分享给大家供大家参考,具体如下: 描述: 实现删除字符串中出现次数最少的字符,若多个字符出现次数一样,则都删除.输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序. 输入: 字符串只包含小写英文字母, 不考虑非法输入,输入的字符串长度小于等于20个字节. 输出: 删除字符串中出现次数最少的字符后的字符串. 样例输入: abcdd 样例输出: dd 代码实现: 复制代码 代码如下: package huawei impo
-
Go语言对字符串进行MD5加密的方法
本文实例讲述了Go语言对字符串进行MD5加密的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import ( "crypto/md5" "fmt" "io" ) func main() { h := md5.New() io.WriteString(h, "welcome to jb51.net") fmt.Printf(&quo
-
Go语言常用字符串处理方法实例汇总
本文实例汇总了Go语言常用字符串处理方法.分享给大家供大家参考.具体如下: 复制代码 代码如下: package main import ( "fmt" "strings" //"unicode/utf8" ) func main() { fmt.Println("查找子串是否在指定的字符串中") fmt.Println(" Contains 函数的用法")
-
Go语言转换所有字符串为大写或者小写的方法
本文实例讲述了Go语言转换所有字符串为大写或者小写的方法.分享给大家供大家参考.具体如下: Go语言的string模块包含了ToLower和ToUpper函数,用于将字符串转换成小写和大写 复制代码 代码如下: package main import ( "fmt" "strings" ) func main() { fmt.Println(strings.ToUpper("hello world")) } 希望本文所述对大家的Go语
-
Go语言对字符串进行SHA1哈希运算的方法
本文实例讲述了Go语言对字符串进行SHA1哈希运算的方法.分享给大家供大家参考.具体如下: 复制代码 代码如下: package main import ( "fmt" "crypto/md5" "crypto/sha1" "io" ) //对字符串进行MD5哈希 func a(data string) string { t := md5.New(); io.WriteString(t,data); return
随机推荐
- python监控linux内存并写入mongodb(推荐)
- Oracle表字段的增删改、表的重命名及主键的增删改
- Python中使用haystack实现django全文检索搜索引擎功能
- VMware Workstation/Fusion 中安装 Fedora 23/24 及其他 Linux 系统时使用 Open VM Tools 代替 VMware Tools 增强工具的方法
- javascript利用控件对windows的操作实现原理与应用
- 使用navicat 8实现创建数据库和导入数据 管理用户与权限[图文方法]
- php进程间通讯实例分析
- 详解Python中类的定义与使用
- 彻底弄懂CSS盒子模式系列教程集合
- 脚本 MsAgent组件 微软精灵 揪出系统自带的宠物
- jquery通过select列表选择框对表格数据进行过滤示例
- table行随鼠标移动变色示例
- windows下rsync的数据同步安装配置方法
- c++ 临时对象的来源
- mysql备份脚本 mysqldump使用方法详解
- Javascript中prototype与__proto__的关系详解
- Angular5升级RxJS到5.5.3报错:EmptyError: no elements in sequence的解决方法
- java web实现分页查询实例方法
- Python2.7版os.path.isdir中文路径返回false的解决方法
- 在Docker中部署Spring Boot项目过程详解