当前位置: 首页 > news >正文

做艺术品的网站重庆沙坪坝区房价

做艺术品的网站,重庆沙坪坝区房价,网站的建设方式,网站不备案可以使用么GO系列 1、GO学习之Hello World 2、GO学习之入门语法 3、GO学习之切片操作 4、GO学习之 Map 操作 5、GO学习之 结构体 操作 文章目录 GO系列前言一、什么是切片#xff08;和数组有什么关系#xff09;二、切片基本操作2.1 切片定义2.2 添加元素2.3 删除元素2.4 遍历2.5 自定…GO系列 1、GO学习之Hello World 2、GO学习之入门语法 3、GO学习之切片操作 4、GO学习之 Map 操作 5、GO学习之 结构体 操作 文章目录 GO系列前言一、什么是切片和数组有什么关系二、切片基本操作2.1 切片定义2.2 添加元素2.3 删除元素2.4 遍历2.5 自定义contains函数 三、总结 前言 按照公司目前的任务go 学习是必经之路了虽然行业卷不过技多不压身依旧努力 前面学了一些 go 的基础知识比如说 go 语言的基础go 的数据类型和一些基本操作if else switch for 等语法当然除了简单的一些变量定义还有稍微复杂的就是数据和切片了那就针对切片专门进行学习一下毕竟在开发中 切片 也是使用比较多的。 一、什么是切片和数组有什么关系 什么是切片呢切片Slice是 Go 语言中的一种动态长度的数据结构它是对数组的一个连续片段的引用并且提供了一种方便且灵活的方式来操作和管理一组相同类型的元素。 切片的定义 切片由三部分组成指针、长度 和 容量。指针指向数组的第一个元素切片的长度表示切片表示当前存储元素的个数容量表示切片底层数组的长度。 切片和数组有什么关系呢 切片是数组的一个连续片段的应用提供了一种动态大小的、方便的方式来操作数组。切片和数组的底层数据结构是相同的都是连续的内存块但是切片是一个动态长度的视图而数组的长度是固定的。对切片的修改会影响底层数组因为切片是对数组的引用。同样的对底层数组的修改也会影响切片。 总结起来切片是一种方便且灵活的动态长度的数据结构它是对数组的引用。通过切片我们可以动态操作数组中的一部分元素同时也提供了方便的切片操作和动态调整大小的能力。 切片和数组密切相关切片提供了对底层数组的引用和操作可以说切片是数组的一种便捷封装。 二、切片基本操作 2.1 切片定义 切片声明的方式有好几种 可以直接 var arr []int也可以通过 make 来初始化或者直接可以简写为 s5 : []int{1, 2, 3}也可以直接在为数组的一部分具体看代码 package main import fmt func main() {// 声明切片var s1 []ints2 : []int{}// 通过 make 来创建分片var s3 []int make([]int, 10)var s4 []int make([]int, 0, 5)// 简写方式s5 : []int{1, 2, 3}arr : [5]int{1, 2, 3, 4, 5}var s6 []int// 声明切片为数组的部分s6 arr[1:4]if s1 nil {fmt.Println(s1 is nil)}fmt.Println(s1: , s1)fmt.Println(s2: , s2)fmt.Println(s3: , s3)fmt.Println(s4: , s4)fmt.Println(s5: , s5)fmt.Println(s6: , s6) }执行结果 s1 is nil s1: [] s2: [] s3: [0 0 0 0 0 0 0 0 0 0] s4: [] s5: [1 2 3] s6: [2 3 4]2.2 添加元素 使用 append 函数来对切片进行添加元素操作。 package main import fmt func main() {var list []intfor i : 0; i 5; i {// 添加元素list append(list, i)}list append(list, 100)fmt.Println(list: , list) }执行结果 list: [0 1 2 3 4 100]2.3 删除元素 需要注意的是go 语言中对切片的元素删除不像 JAVA 中对 List 中元素的删除直接用 remove() 方法go 语言中切片没有函数来删除元素这是因为在 go 语言中切片的删除操作可以通过切片的切片操作来重新赋值实现不需要专门的函数。 下面的实例是移除第二个元素。 package main import fmt func main() {data : [...]int{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}// 删除元素data3 : append(data[:2], data[3:]...)fmt.Println(被删除后的数组为, data3) }执行结果 被删除后的数组为 [0 1 3 4 5 6 7 8 9]2.4 遍历 切片遍历可以直接用 for range 来实现下面示例中index 是下标value 是值 有时候我们只需要遍历 切片但是不需要知道下标可以用下划线 “_” 来代替就是忽略下标的意思。 package main import fmt func main() {// 切片遍历data : [...]int{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}slice : data[:]for index, value : range slice {fmt.Printf(index %v 的值为 %v \n, index, value)}// 需要 下标index) 的写法for _, value : range slice {fmt.Println(value)} }执行结果 index 0 的值为 0 index 1 的值为 1 index 2 的值为 2 index 3 的值为 3 index 4 的值为 4 index 5 的值为 5 index 6 的值为 6 index 7 的值为 7 index 8 的值为 8 index 9 的值为 92.5 自定义contains函数 如果你写 JAVA 就会知道我们判断一个元素是否在 List 中可以直接调用 contains() 方法但是在 go 语言中却没有这个函数。 在上面的示例中我们定义了一个名为 contains 的函数它接受一个切片和一个要查找的元素作为参数。函数内部使用循环遍历切片并逐个比较元素的值与目标元素是否相等。如果找到相等的元素则返回 true 表示元素存在于切片中 package main import fmt func main() {//定义数组data : [...]int{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}//切片slice : data[:]element : 5if contains(slice, element) {fmt.Println(element, 在切片slice2中...)} else {fmt.Println(element, 不在切片slice中...)} }func contains(data []int, element int) bool {for _, value : range data {if value element {return true}}return false }三、总结 看到这里go 语言中的切片就基本有了了解也能写一写简单的功能了不过相对于JAVA来说go 语言中好多地方还是大不相同的就对切片来说表面上有点类似于 JAVA 的 ArrayList但其实大相径庭也需要更加去使用和了解才能正在的懂什么是切片。 那为什么 JAVA 中对 ArrayList 操作由 remove、contains等方法但是 go 中却没有这样的函数呢 是因为 go 语言的设计哲学强调简洁性和效率保持语言的简介和清晰尽量避免引入过多的内置函数和语法糖让程序员能够简洁的方式表达意图相对于大量的内置函数go 语言更倾向于提供基础的数据结构和少了的核心函数以便程序员构建自己的函数和工具。 不过go 语言社区拥有丰富的第三方包和库包含了各种函数和工具我们可以寻找合适的第三方包集成到我们自己的项目中使用。 切片就到这里吧 感谢阅读如有不妥之处欢迎纠正
http://www.w-s-a.com/news/829933/

相关文章:

  • 郑州做营销型网站手机网站建设多少钱一个
  • 小说类网站程序外贸商城 wordpress
  • 喀什百度做网站多少钱wordpress 用户介绍
  • 专门做任务的网站手机端网站重构
  • 深圳专业设计网站公司国际网站建设经验
  • 网站产品页排名怎么做网站备案起名要求
  • 成都企业网站建设及公司ppt生活分类信息网站大全
  • 免费企业网站源码下载学服装设计需要什么条件
  • 淘宝网站开发方式深圳平面设计公司排名榜
  • 品牌网站建设收费情况登陆页面模板
  • 十大免费cms建站系统介绍科技网站欣赏
  • 自学做网站需要多久semir是什么品牌
  • 南通网站搜索引擎优化网站首页seo关键词布局
  • 东莞市国外网站建设多少钱wordpress 多媒体插件
  • c2c商城网站建设公司做水果生意去哪个网站
  • 做网站服务器有哪些电子商务网站建立
  • 网站开发的具体流程原材料价格查询网站
  • 深圳响应式网站建设深圳网站建设定制开发 超凡科技
  • 网站建设报价怎么差别那么大wordpress产品属性搭配
  • 高校网站建设情况报告范文pc建站网站
  • 做网站美工要学什么广东省建设厅网站首页
  • 深圳网站设计十年乐云seo网站建设 竞赛 方案
  • 新乡移动网站建设wordpress输出某一分类的文章
  • 花店网站开发设计的项目结构重庆网站建设培训班
  • 做网站的技术体系投资者互动平台官网
  • 北京网站建设公司哪家实惠企查查在线查询入口
  • 毕业设计做网站怎么样非微信官方网页自己做的网站
  • 昆明网站多端小程序设计重庆市住房和城乡建设厅网站
  • 网站制作技术人员国际新闻最新10条
  • 做同城特价的网站wordpress后台能修改模板文件