study_go_day5

栏目: Go · 发布时间: 6年前

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()

}


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Web 2.0 Heroes

Web 2.0 Heroes

Bradley L. Jones / Wiley / 2008-04-14 / USD 24.99

Web 2.0 may be an elusive concept, but one thing is certain: using the Web as merely a means of retrieving and displaying information is history. Today?s Web is immediate, interactive, innovative. It ......一起来看看 《Web 2.0 Heroes》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具