【go语言实践】基础篇二 -- 值类型、命名规范、导入包及go指针

golang中值类型和引用类型

go中值类型变量直接存储值,内存通常在栈中分配,引用类型变量存储的是一个地址,这个地址对应的对应的空间才真正存储数据,当没有任何变量引用该地址时,该地址对应的数据空间就会被go的GC(垃圾回收机制)回收。开发人员无需关注内存回收问题。

  • 值类型,这类包含基本的数据类型,int、float、bool、string及数组和结构体struct
  • 引用类型:指针、slice切片、map、管道channel、interface等

go语言标识符命名规则

  • 26个英文字母大小写,0-9,_组成
  • 数字不可以开头
  • 严格区分大小写
  • 标识符不能包含空格
  • 下划线"_"本身在go中是一个特殊的标识符,称为空表示符,可以代表任意其他字符,它对应的值会被忽略,所以仅能作为占位符使用,不能作为标识符使用(只用_时不行)
  • 不能一系统保留关键字作为标识符

go语言包命名规范

  • 包名与目录尽量保持一致,不要与标准库冲突
  • 变量名、函数名、常量名通常采用驼峰写法
  • 如果变量名、函数名、常量名首字母大写,可以被其他包访问,如果首小写,则只能在本包使用。go语言中没有显示定义private、public的概念。

go语言引入自己编写的包

假设我们在src目录下,创建了go_code/test/demo1目录,go源文件存放在demo1目录下,那么我们想在其他目录下引入该包,可以这样写:

import (
    "fmt"
    "go_code/test/demo1"
)

我们不需要写全绝对路径,在我们已经配置了系统环境变量GOPATH的情况下,也不用写src,go默认会给我们加src

go语言指针

go派生数据类型总览

  • 指针
  • 数组
  • 结构体
  • 管道(channel)
  • 函数
  • 切片(slice)
  • 接口
  • map

go中所有值类型都有对应的指针类型,形式都为*type,type为具体的数据类型。值类型包括基本数据类型、数组、结构体

声明一个int类型指针:

var ptr *int

我们不能将一个整形的地址赋值给一个double类型的指针

相关推荐

  1. go语言实践一】go语言基础

    2023-12-17 23:28:03       58 阅读
  2. go语言实践基础 - 流程控制

    2023-12-17 23:28:03       59 阅读
  3. go语言基本类型

    2023-12-17 23:28:03       51 阅读
  4. Go语言基础数据类型、变量自增语法

    2023-12-17 23:28:03       25 阅读
  5. go语言命名规则

    2023-12-17 23:28:03       22 阅读
  6. Go语言第二-基本数据类型与转义字符

    2023-12-17 23:28:03       35 阅读
  7. Go 语言命名规范:清晰、简洁、一致

    2023-12-17 23:28:03       45 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-17 23:28:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-17 23:28:03       101 阅读
  3. 在Django里面运行非项目文件

    2023-12-17 23:28:03       82 阅读
  4. Python语言-面向对象

    2023-12-17 23:28:03       91 阅读

热门阅读

  1. 深度学习之模型权重

    2023-12-17 23:28:03       69 阅读
  2. 技术革新助推媒体进步

    2023-12-17 23:28:03       56 阅读
  3. 多进程间通信学习之消息队列

    2023-12-17 23:28:03       58 阅读
  4. SVN忽略文件的两种方式

    2023-12-17 23:28:03       59 阅读
  5. Android-UWB通信示例代码解析

    2023-12-17 23:28:03       62 阅读
  6. M个苹果放入N个盘子(递归)

    2023-12-17 23:28:03       58 阅读