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

海南公司网站建设html5 网站模板

海南公司网站建设,html5 网站模板,免费的推广渠道有哪些,宣传网页设计作业成品指针#xff1a; 指针是一个特殊的变量#xff0c;因为它存储的数据是另一个变量的内存地址#xff0c;指针本身也是有内存地址的指针的数据类型有int、float、bool、string、数组、结构体指针的作用就是可以通过变量/对象的内存地址去操作变量/对象 注意#xff1a; 取址运…指针 指针是一个特殊的变量因为它存储的数据是另一个变量的内存地址指针本身也是有内存地址的指针的数据类型有int、float、bool、string、数组、结构体指针的作用就是可以通过变量/对象的内存地址去操作变量/对象 注意 取址运算符用于获取对象地址 指针运算符*用于 间接引用目标对象 二级指针(一个指针指向另一个指针)**T或包含包名*package.T 指针定义 定义格式 var 指针名 *数据类型获取内存地址格式 变量获取指针存的数据 fmt.Println(指针名)获取指针指向的数据 fmt.Println(*指针名)通过指针修改变量的值 // *指针变量是获取到内存地址指向的变量值拿到后可以再修改或者其它操作 *指针变量 值演示 func main() {a : 10// 定义一个指针变量p并把a的内存地址赋值给pvar p *int a// 可以简写为var p a// 对比a的内存地址和p变量存的数据是一样的fmt.Println(变量a的内存地址, a)fmt.Println(指针p的数据, p)fmt.Println(获取指针指向的数据, *p)fmt.Println(指针p的内存地址, p)// 通过指针修改数据a的数据也同步修改*p 222fmt.Println(a) }输出 变量a的内存地址 0x1400001a090 指针p的数据 0x1400001a090 获取指针指向的数据 10 指针p的内存地址 0x1400000e028 222指针类型支持相等运算符但不能做加减法运算和直接类型转换。如果两个指针指向同一地址或都为nil那么它们相等 func main() {x : 10p : xp // 无效运算p (non-numeric type *int)p2 : xprintln(p p2) // truevar p3 *intvar p4 *intfmt.Println(p3 p4) // true }操作指针的3个注意事项 空指针定义了指针但指针内并没保存其他变量的内存地址 func main() {var p *intfmt.Println(p) // nil }野指针指针没有合法指向的内存 func main() {var p *int*p 111fmt.Println(p) // 虽然定义了指针并赋值但是并没有将指针指向任何有效的变量 }new函数使用 func main() {// 创建了一个int类型的内存空间然后让p指向内存空间然后把222保存到了内存空间中p : new(int) // int是4个字节所以new(int)这个空间大小就是4byte*p 222fmt.Println(*p) }指针作为函数参数 在函数中修改变量值是不影响原变量值的可以通过指针完成修改。 不通过指针的时候修改原来的变量虽然变量都是a但是内存地址是不一样的所以在函数中修改完以后会发现原来的变量并没有被修改但是通过指针去修改的时候是因为指向的是内存地址所以对函数中的a进行操作其实就是对原来的a进行操作所以可以将原来的变量值修改掉 演示 func main() {a : 10test(a)fmt.Println(a) }// 注意指针作为函数的时候参数也要加上* func test(a *int) {*a 20 }数组指针作为函数参数 func main() {arr : [10]int{1, 2, 3, 3, 4, 5}var p *[10]intp arrfmt.Println(修改前p[0], p[0])test(p)fmt.Println(修改后p[0], p[0]) }func test(p *[10]int) {p[0] 111 } 数组指针 要分清指针数组和数组指针的区别。指针数组是指元素为指针类型的数组数组指针是获取数组变量的地址 var 数组指针变量 *[索引] 类型演示 func main() {arr : [10]int{1, 2, 3, 3, 4, 5}var p *[10]intp arrfmt.Println(*p) // 获取数组中的全部数据fmt.Println((*p)[0]) // 获取指定数组中索引的数据[]的运算优先级高于*p所以要把*p加括号fmt.Println(p[0]) // 获取指定数组中索引的数据这个格式和加括号一样但是简化的写法for i : 0; i len(p); i {fmt.Print(p[i], ,)} }指针数组 指针数组指的是元素为指针类型的数组一个数组中存储的都是指针它就是一个存储了地址的数组。 定义格式 var 数组名 [索引] *类型演示 func main() {var p [2]*inta : 10b : 20// 变量a 的内存地址保存在指针数组p的0索引b保存在1索引p[0] ap[1] bfmt.Println(p) // 获取p数组中的内存地址fmt.Println(*p[0], *p[1]) // 获取p数组中的指定索引数据for i : 0; i len(p); i {fmt.Println(*p[i]) // 获取p数组中的所有的数据}for key, value : range p {fmt.Println(key, *value)} }切片指针 其实就是定义指针指向切片 func main() {s : []int{1, 2, 3, 4, 5}var p *[]intp sfmt.Println(*p)fmt.Println(修改前, (*p)[0]) // 指针切片中没有简化的写法只能加括号先运算指针再运算切片(*p)[0] 111fmt.Println(修改后, (*p)[0]) // 指针切片中没有简化的写法只能加括号先运算指针再运算切片for i : 0; i len(*p); i {fmt.Print((*p)[i], )if i len(*p)-1 {fmt.Println()}}for key, value : range *p {fmt.Println(key:, key, value:, value)} } 指针结构体 其实就是定义指针指向结构体 type Student struct {id intname stringage intaddr string }func main() {stu : Student{001, itzhuzhu, 23, 广州}var p *Studentp stufmt.Println(*p) // 获取全部fmt.Println((*p).name) // 获取指定的数据fmt.Println(p.name) // 结构体指针中也是有简化写法的p.addr 深圳fmt.Println(*p) }将结构体指针作为函数参数 type Student struct {id intname stringage intaddr string }func main() {stu : Student{001, itzhuzhu, 23, 广州}var p *Studentp stutest(p)fmt.Println(stu) }func test(p *Student) {p.addr 深圳 }多级指针 多级指针指的是存放的都是上一级指针的内存地址二级指针存的是一级指针的内存地址以此类推多级指针的概念和二维数组的概念类似。多级指针可以无限定义级别几级指针定义的时候就要写几个* 定义格式 var 指针变量名 *类型 // 几级指针就写几个* 一个* 就是一级指针演示 func main() {a : 10var p *intp a// 定义二级指针var p2 **int//var p3 ***int//var p4 ****intp2 pfmt.Println(**p2) // 10 }
http://www.zqtcl.cn/news/497542/

相关文章:

  • 网站开发平台有哪些什么是网络开发
  • 学校网站前置审批网站做哪些比较有意思
  • 怎么给企业做网站学计算机网站建设
  • 网站关键词优化排名技巧aiyuan wordpress
  • 建设工程资质证书二维码扫描网站自己做的网站如何让qq登录
  • 网站域名有效期wordpress 特别慢
  • 建立个人网站服务器如何用dedecms做网站
  • php网站开发实市场推广策略 包括哪些
  • 合众商道网站开发可以投稿的写作网站
  • 北京贸易公司网站制作免费的查企业的网站
  • 网站建设报价表模板下载小程序怎么找出来
  • 网站制作简单协议wordpress快速建站教程视频教程
  • 杭州做网站价格北京企业响应式网站建设
  • 30个成功的电子商务网站设计中企动力 网站报价
  • php 网站开发 视频百度seo排名查询
  • 网站开发代码wordpress提示安装
  • 网站推广的策略高端网球拍
  • 广东知名网站建设wordpress 用户量
  • asp源代码网站网络架构图是什么
  • 专业做淘宝网站公司吗苏州网站制作开发
  • 电商网站模板html安阳历史
  • seo快速排名多少钱安阳网站怎么优化
  • 如何在网站后台删除栏目阿里巴巴上做网站要多少钱
  • 网站建设意识形态工作河北省两学一做网站
  • 綦江建站哪家正规php做不了大型网站吗
  • 优秀的设计网站青岛网站设计企业
  • 谁有做爰网站号wordpress 4.8 中文
  • 毕业设计做网站用什么广州中智软件开发有限公司
  • 哪个网站不花钱可以做招聘wordpress没有页脚
  • 免费视频网站素材网络系统管理技能大赛