Go---指针

简介 

1). 基本数据类型,变量存的就是值,也叫值类型
2). 获取变量的地址,用&,比如:var num int,获取num的地址: &num

3). 指针类型,变量存的是一个地址,这个地址指向的空间存的才是值  比如: var ptr *int = &num
4). 获取指针类型所指向的值,使用: *,比如: var *ptr int,使用 *ptr 获取 p指向的值

var i int = 9

//存放i的地址 &i

fmt.Println(" i  address ", &i)

//下面的var ptr *int = &i

//1. ptr是一个指针变量

//2. ptr 的类型*int

//3. ptr本身的值&i

//4. 指针本身也是占用地址

var ptr *int = &i

fmt.Printf("ptr=%v \n",ptr)

fmt.Println(" ptr  address ", &ptr)

fmt.Printf( "ptr 指向的值= %v ",*ptr)

指针细节说明

1).值类型,都有对应的指针类型,形式为 *数据类型

比如 int的对应的指针就是*int, float32对应的指针类型就是 *float32,依次类推。

2).值类型包括:基本数据类型int系列, float系列, bool, string、数组和 结构体struct

值类型和引用类型
1). 值类型:  基本数据类型 int系列, float系列, bool, string 、数组和结构体struct
2). 引用类型:  指针、slice切片、map、管道chan、interface等都是引用类型

值类型和引用类型使用特点:
1). 值类型:  变量直接存储值,内存通常在栈中分配
2). 引用类型: 变量存储的是一个地址,这个地址对应的空间才真正存储数据(值),内存通
在堆上分配,当没有任何变量引用这个地址时,该地址对应的数据空间就成为一个垃圾,由GC来回收。

 标识符的命名规范

标识符概念
1).Golang对各种变量、方法等命名时使用的字符序列称为标识符

2).凡是自己可以起名字的地方都叫标识符
标识符的命名规则
1). 由26个英文字母大小写,0-9 ,_组成

2). 数字不可以开头。
3). Golang中严格区分大小写

4). 标识符不能包含空格。
5).下划线 "_" 本身在Go中是一个特殊的标识符,称为空标识符。可以代表任何其它的标识符,但是它对应的值会被忽略 (比如, 忽略某个返回值)。所以仅能被作为占位符使用,不能作为标识符使用。
6).不能以系统保留关键字作为标识符,比如 break.if 等等...

标识符命名注意事项
1).包名.  保持package的名字和目录保持一致,尽量采取有意义的包名,简短,有意义,
不要和标准库不要冲突
2).变量名、函数名、常量名,采用驼峰法。
3).如果变量名、函数名、常量名首字母大写,则可以被其他的包访间,如果首字母小写,
则只能在本包中使用(注。可以简单的理解成,首字母大写是公有的,首字母小写是私有的)

在导入其他包报错,情况如下

 解决办法

1.设置环境变量

2.终端设置环境变量

 

 

3.确保目录结构是src开头的

4.应用

main.go

package main

import (

    "fmt"

    //为了使用model中的utils.go文件的变量或者函数,需要先引入改包

    "secondGo/pratice/model"

)

func main(){

    var str string = " you are ,you are "

    fmt.Println(str)

    fmt.Println(model.Htr)

}

 utils.go

package model

var Htr string = " hello,myfriend"

5.结果

保留关键字和预定义标识符
在Go中.和了简化代码编译过程中对代码的解析,其定义的保留关健字只有25个:

除了保留关键字外,Go还提供了36个预定的标识符,其包括基础数据类型和系统内嵌函数:

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值