Golang学习笔记(3)

一、Golang数据类型

1、基本数据类型

  • 布尔型

true 或 false

  • 数值型

整型、浮点型、复数

  • 字符串

字符串是由单个字节连接起来的字符序列

  • 派生类型

指针(pinter)
数组(array)
结构体(struct)
通道(channel)
函数(function)
切片(slice)
接口(interface)
Map

2、数字类型

  • 整形
    有符号(uint)

uint8 无符号 8 位整型 (0 到 255)
uint16 无符号 16 位整型 (0 到 65535)
uint32 无符号 32 位整型 (0 到 4294967295)
uint64 无符号 64 位整型 (0 到 18446744073709551615)

无符号(int)

int8 有符号 8 位整型 (-128 到 127)
int16 有符号 16 位整型 (-32768 到 32767)
int32 有符号 32 位整型 (-2147483648 到 2147483647)
int64 有符号 64 位整型 (-9223372036854775808 到 9223372036854775807)

  • 浮点型

float32 32位浮点型数
float64 64位浮点型数
complex64 32 位实数和虚数
complex128 64位实数和虚数

3、字符类型

使用单引号定义字符型数据,字符指的是单个字符。
有两种byte和rune:
byte:单字节字符,是uint8的别名。用于存储ASCII字符集字符
rune:多字节字符,是int32的别名。用于存储unicode字符集字符。
在类型推导时,推导的字符型为rune。
byte需要在定义变量时强制声明。

4、字符串类型

字符串就是一串固定长度的字符连接起来的字符序列。

Go的字符串是由单个字节连接起来的,Go语言的字符串的字节使用UTF-8编码标识Unicode文本。

字符串有两种表示形式:

双引号,会识别转义字符
反引号,以字符串的原生形式输出,包括换行和特殊字符,可以实现防止攻击、输出源代码等效果。

5、数据类型转换

Go语言中类型转换的语法:
在这里插入图片描述
在这里插入图片描述


**类型转换只能由当前类型转向更精确表示数值的类型,而不能反过来,这样避免了精度损失。比如由整型转向浮点型,表示更精确了,但由浮点型转换整型小数部分会被抹去。


二、常量与变量

1、标识符

标识符是函数、变量、常量、自定义类型以及包的名称的总称。
在Go语言中,标识符的命名遵循以下的规则:标识符任意字母或者下划线开始,后面可以跟任意的字符,数字或者下划线,并区分大小写
如:

a_1 // 合法标识符
_a1 // 合法标识符
1_a // 非合法标识符

在Go语言中,标识符分为预定义标识符和可自定义标识符。预定义标识符是指Go语言中预先定义好的标识符,包括关键字,内置数据类型标识符,常量值标识符,内置函数和空白标识符。以关键字为例,Golang中预定义了25个关键字:
在这里插入图片描述

2、常量

  • 常量是一个简单值的标识符,在程序运行时,不会被修改的量。

  • 常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型。

常量值必须是编译期可确定的数字、字符串、布尔值,通过***const***关键字可以定义常量:

const s string = “hello world”
const a int = 6 // 在编译期运行的常量表达式

3、变量

  • 变量需要先声明,再使用。
    变量是通过 var 关键字声明的,声明格式为:var identifier type
    如:

var a int //定义了一个整形变量a,在没有初始化的情况下,整形变量默认为0

变量初始化
在定义了变量后需要对变量初始化,完整的初始化方式
如:

a = 1

对于新定义的变量,通常在声明变量的同时对变量初始化,初始化的方式为:

var a int = 1 // 完整声明+初始化
var b = 2 // 提供初始化值,可省略变量类型,由编译器⾃自动推断

注意:

  • 函数外的每个语句都必须以关键字开头,例如 var func 等;
  • _ 多用于占位符,表示忽略值;
  • 同一个作用域中不能重复声明同名的变量;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
GoLang学习笔记主要包括以下几个方面: 1. 语法规则:Go语言要求按照语法规则编写代码,例如变量声明、函数定义、控制结构等。如果程序中违反了语法规则,编译器会报错。 2. 注释:Go语言中的注释有两种形式,分别是行注释和块注释。行注释使用`//`开头,块注释使用`/*`开头,`*/`结尾。注释可以提高代码的可读性。 3. 规范代码的使用:包括正确的缩进和空白、注释风格、运算符两边加空格等。同时,Go语言的代码风格推荐使用行注释进行注释整个方法和语句。 4. 常用数据结构:如数组、切片、字符串、映射(map)等。可以使用for range遍历这些数据结构。 5. 循环结构:Go语言支持常见的循环结构,如for循环、while循环等。 6. 函数:Go语言中的函数使用`func`关键字定义,可以有参数和返回值。函数可以提高代码的重用性。 7. 指针:Go语言中的指针是一种特殊的变量,它存储的是另一个变量的内存地址。指针可以实现动态内存分配和引用类型。 8. 并发编程:Go语言提供了goroutine和channel两个并发编程的基本单位,可以方便地实现多线程和高并发程序。 9. 标准库:Go语言提供了丰富的标准库,涵盖了网络编程、文件操作、加密解密等多个领域,可以帮助开发者快速实现各种功能。 10. 错误处理:Go语言中的错误处理使用`defer`和`panic`两个关键字实现,可以有效地处理程序运行过程中出现的错误。 通过以上内容的学习,可以掌握Go语言的基本语法和编程思想,为进一步学习和应用Go语言打下坚实的基础。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Golang学习笔记](https://blog.csdn.net/weixin_52310067/article/details/129467041)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [golang学习笔记](https://blog.csdn.net/qq_44336275/article/details/111143767)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值