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

企查查 天眼查优化大师绿色版

企查查 天眼查,优化大师绿色版,大型网站技术架构,网站内嵌地图文章目录 GO数据类型数组array切片slice集合map结构体make和new GO数据类型 在go语言中,定义的全局数据结构不使用不会报错,定义的局部数据结构必须使用,否则报错;建议定义的数据类型就要使用,要么不定义。 数组array …

文章目录

  • GO数据类型
    • 数组array
    • 切片slice
    • 集合map
    • 结构体
    • make和new

GO数据类型

  • 在go语言中,定义的全局数据结构不使用不会报错,定义的局部数据结构必须使用,否则报错;建议定义的数据类型就要使用,要么不定义。

数组array

类似于python的list,有下标查找方法

  • array与list的区别:
    • array是固定长度的数组,没有append、pop等方法;
    • array作为值传入函数或者是赋值给变量的是原始值拷贝不会,任何修改不会影响原始值;
var l1 [5]int = [5]int{1, 2, 3, 4, 5} //定义
l2 := [5]int{1, 2, 3} //初始化(:= 只能用于函数内部)

切片slice

可以进行切割的数组, 能使用append方法,使用后会返回添加后的切片,slice是底层数组,作为值作为值传入函数或者是赋值给变量时会改变原始值。

var s []string
var s []string = ['a', 'b']
b = s[:2] //前包后不包
s = append(s, "c") //增大了切片的最大容量,len(s)是4,cap(s)是6

集合map

类似与python的字典,能通过key进行增删改查

  • map与dict的区别:

    • map是无序的key-value集合,遍历时会无序的返回,而dict是有序的,按顺序遍历;
    • map定义时要说明key和value的类型,dict不需要;
    • map通过键获取键值时,如果键不存在,则返回该键类型的0值,如:键是int类型的返回值是0;而dict通过键获取值,键不存在,则会报错,使用get方法获取时返回None;
  • 注意:

    • map定义时必须要初始化,或者使用make来分配内存,否则会报错因为没有分配内存空间;
    • map是应用类型,如果将他传递给一个函数或是赋值给另一个变量,他们指向的都是底层数据结构,一个变化都会变化;
var m = map[int]string{1: "a",2: "b", //结尾括号另起一行时结尾需要有“,”同一行则不需要 
}var m1 = make(map[int]string)m1 := make(map[int]string) //:=用于函数内部
m1[1] = "a"
// m = {1: "a", 2: "b"} //不允许这种赋值方式

结构体

结构体自定义数据类型的属性和方法,是go实现面向对象的方法,通过type来定义

type Person struct{name stringage int
}var person Person //实例化结构体,实例化才会分配内存,才能调用内部的属性和方法 

要创建结构体的方法,需要将结构体作为接收者来定义函数,此时该函数就是该结构体的方法

  • 接收者有值接收者和指针接收者,当是值类型接收者时,实例化不能改变当前实例的属性或方法,指针类型接收者则能改变
type Person struct{Name stringAge int
}//receiver是值类型
func (p Person) SetName(word string) {p.Name = word
}//receiver是指针类型
func (p *Person) SetAge(age int){p.Age = age
}var p1 Person
p1.SetName("lili")
fmt.Println(p1.Name) //空字符串
p1.SetAge(12)
fmt.Println(p1.Age) //12
  • 注意:结构体的属性和方法首字母为大写才能被模块外调用,否则只能在模块内调用

make和new

make和new都可以给定义的数据类型分配空间

  • 区别:
    • make只能给slice、map、channel分配空间;
    • make分配完后返回的是数据类型的值,是对数据类型的初始化,new返回的是指针;
    • 很少使用到new
http://www.tj-hxxt.cn/news/129140.html

相关文章:

  • 学做网站 书公关服务
  • Java做新闻网站网站的开发流程
  • 如何做阿里巴巴国际网站北京已感染上千万人
  • 网站后台可视化编辑精准营销策略都有哪些
  • 2003建立虚拟网站网络营销专业介绍
  • 哪些网站可以做平面设计哪里可以学网络运营和推广
  • 网站建设 广州网站建设专业公司seo公司重庆
  • 网站内链建设网络媒体广告代理
  • 龙湾区网站制作公司如何开一个自己的网站
  • 小红书推广网站我要登录百度
  • 男女生做恶心的网站山东今日热搜
  • WordPress文章过滤唐山网站建设方案优化
  • 做印刷厂网站怎么在百度推广自己的公司
  • 北京it外包公司快速优化排名公司推荐
  • 自己做网站用花钱么推广平台排行榜app
  • 学做网站视频推广软件哪个好
  • 给公司做一个网站百度联系方式人工客服
  • 计算机专业论文 网站建设百度联盟是什么
  • 温州专业微网站制作网络公司有没有永久免费crm
  • 中国建筑appseo自学
  • 网站icp备案怎么做晚上看b站
  • 西安北郊做网站老鬼seo
  • 可以做兼职翻译的网站一元手游平台app
  • 网站建设的建议例子手机网站制作
  • 自己主机做标签电影网站2345网址大全设主页
  • 百姓网推广电话关键词优化的最佳方法
  • qq空间如何做微网站百度官网认证免费
  • 蒙icp备 网站建设济南疫情最新情况
  • 太原公司网站建设广告网站推荐
  • 遵义城乡建设网站网络营销是指什么