package main
import "fmt"
//slice操作
func sliceStudy() {
s1 := []int{2,4,6,8}
printlnSlice(s1)
//不知道值可以使用make
s2 := make([]int,16)//len是16
s3 := make([]int,10,32)//len是10,cap是32
printlnSlice(s2)
printlnSlice(s3)
//copy函数
fmt.Println("copying slice")
copy(s2,s1)
printlnSlice(s2)
//删除,系统没有内建函数,使用append来做
fmt.Println("deleting elements form slice")
s2 = append(s2[:3],s2[4:]...)
printlnSlice(s2)
//删除头尾
fmt.Println("poping form front")
front := s2[0]
s2 = s2[1:]
fmt.Println(front)
printlnSlice(s2)
fmt.Println("poping form back")
tail := s2[len(s2)-1]
s2 = s2[:len(s2) -1]
fmt.Println(tail)
printlnSlice(s2)
}
func printlnSlice(s []int) {
fmt.Printf("s = %v,len(s) = %d,cap(s) = %d\n",s,len(s),cap(s))
}
//map[key]value,可以复合map[key1]map[key2]value
func mapStudy() {
m :=map[string]string{
"name":"小强",
"course":"golang",
"site":"imooc",
"quality":"notbad",
}
fmt.Println(m)
//使用make函数定义
m1 := make(map[string]int)//m1 == empty map
fmt.Println(m1)
//使用var来定义
var m2map[string]int//m2 == nil,go语言的nil可以参与运算
fmt.Println(m2)
//使用range遍历map,key在map里是无序的
fmt.Println("遍历map")
for k,v :=range m{
fmt.Println(k,v)
}
//map的操作
fmt.Println("map的操作")
courseName,ok := m["course"]
fmt.Println(courseName,ok)
//key写错里也可以取出一个空值,不会报错,可以使用"ok"来判断存不存在这个key
if name,ok := m["ndme"];ok {
fmt.Println(name)
}else {
fmt.Println("key不存在")
}
//删除元素,delet函数
fmt.Println("删除元素")
name,ok := m["name"]
fmt.Println(name,ok)
delete(m,"name")
name,ok = m["name"]
fmt.Println(name,ok)
/*
创建:make(map[k]v)
获取元素:m[k]
key不存在时,不会报错,获得value类型的初始值
用value,ok := m【key】来判断是否存在key
用delete删除一个key;delect(m,"key")
map的遍历
使用range遍历key,或者遍历key,value对
不保证遍历顺序,如需顺序,需要手动对key排序
使用len获得元素的个数
map的key
map使用哈希表,必须可以比较相等
除了slice,map,function的内建类型都可以作为key
Struct类型不包含上述字段,也可以作为key
*/
}
//例子:寻找最长不含有重复字符串的字串 abcabcbb->abc bbbbb->b pwwkew->wke
func main() {
//slice操作
sliceStudy()
//
mapStudy()
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Mathematica Cookbook
Sal Mangano / O'Reilly Media / 2009 / GBP 51.99
As the leading software application for symbolic mathematics, Mathematica is standard in many environments that rely on math, such as science, engineering, financial analysis, software development, an......一起来看看 《Mathematica Cookbook》 这本书的介绍吧!