1 Star 0 Fork 0

叶明志 / golang练习

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
main.go 1.79 KB
一键复制 编辑 原始数据 按行查看 历史
叶明志 提交于 2019-06-23 17:00 . 切片练习
package main
import (
"fmt"
)
func testSlice() { //slice 初始化及使用
var slice []int
var arr = [...]int{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
slice = arr[2:]
// for i := 0; i < len(slice); i++ {
// fmt.Println(slice[i])
// }
// slice=slice[:1]
// fmt.Println(len(slice))//slice的容量与长度
// fmt.Println(cap(slice))
// var slice1 []int
// slice1=make([]int, 10)
// fmt.Println(slice1)
// slice=slice[1:]
// fmt.Println(slice)
// fmt.Println(len(slice))
// fmt.Println(cap(slice))
fmt.Println(slice)
modify(slice)
fmt.Println(slice)
}
func modify(a []int) { //数组是值类型,切片是引用类型,
a[0] = 1000 //数组必须通过指针形式改变,而切片可以直接修改
}
func testDifferenceBetweenSliceAndArray() {
var a [5]int = [...]int{1, 2, 3, 4, 5}
var slice []int = a[2:3]
fmt.Printf("%p\n", slice)
fmt.Printf("%p\n", &a[2])
}
func testAppend() {
var arr = [...]int{1, 2, 3, 4, 5}
// slice=make([]int,10)
slice := arr[2:5]
fmt.Printf("arr[2]=%p,slice=%p\n", &arr[2], slice)
slice = append(slice, 10)
slice = append(slice, 10)
slice = append(slice, 10)
slice = append(slice, 10)
fmt.Printf("%p\n", slice)
fmt.Println(slice)
}
func testCopyOfSlice(){//使用copy复制切片的值到另一个切片
s1:=[]int{1,2,3,4,5}
s2:=make([]int,10)
copy(s2,s1)
fmt.Printf("s2=%v\n",s2)
s3:=[]int{1,2,3}
s3=append(s3,s2...)
fmt.Printf("s3=%v\n",s3)
s3=append(s3,4,5,6)
fmt.Printf("s3=%v\n",s3)
}
func testString(){
var s string ="hello world"
s1:=s[:5]
s2:=s[6:]
fmt.Println(s1)
fmt.Println(s2)
}
func testModifyString(){
s:="我hello world"
s1:=[]rune(s)
s1[0]='0'
str:=string(s1)
fmt.Println(str)
}
func main() {
// testSlice()
// testDifferenceBetweenSliceAndArray()
// testAppend()
// testCopyOfSlice()
// testString()
testModifyString()
}
Go
1
https://gitee.com/yemingzhi/GolangLearnPractice1.git
git@gitee.com:yemingzhi/GolangLearnPractice1.git
yemingzhi
GolangLearnPractice1
golang练习
2bf136849dce

搜索帮助