golang-基础相关:变量、常量、数据类型

变量

  • 标识符是用来表示GO的变量名或者函数名,以字母或者_开头。后面跟字母或者数字

    例子: A123 adb_123 _a238

  • 关键字是GO语言预先设定好的,具有特殊含义的标识符,在设置变量的时候,不能使用

变量的语法

var 变量名称 类型

例一

var a int 
var b string 
var c bool 
var d int = 8 
var e string = “hello”

例二

如果不设置相关内容,就会走每个类型的默认值

var ( 
 a int //0 
 b string //“” 
 c bool //false 
 d int = 8 // 8 
 e string = “hello” //hello 
)
// 初始化的时候定义变量
f := 10  // go编译器会自动识别变量的类型

go语言中定义的变量必须被用到,否则会报错(但是也有解决办法:如果定义的变量d未被用到,我们可以使用 _ = d 来忽略变量d

常量

定义:常量使用const修饰,代表永远只读的,不能修改,一般用来定义一些公用的不变的变量

常量的语法

const 常量名称 [type]=类型 或者 const 常量名称 类型

例一

const b string = “hello world” 
const b = “hello world” 
const Pi = 3.1414926

例二

const(
 a = 1 
 b = 2 
 c = 3 
)

iota 的用法

iota在golang中表示常量计数器

使用规则

  • 每当const出现时,都会是iota初始化为0
  • const中每新增一行常量声明将使iota计数一次
const (
 a = iota // a=0 在常量定义中,iota初始化为0 
 b = iota // const常量新增一行,iota加1
 c = 3    // 定义一个常量
 d        // 不赋值,和上一个常量相同
 e = iota // 每定义一次常量都iota都加1,现在已经新增4行,现在e=4
)

数据类型

整数和浮点数

a. int8、int16、int32、int64

b. uint8、uint16、uint32、uint64

c. int 和 uint,和操作系统平台相关

d. float32 和 float64浮点类型

e. 所有整数 初始化为0,所有浮点数初始化为0.0,布尔类型初始化为false

说明

  1. go是强类型语言,不用类型之间相加和相互赋值是不允许的
  2. 如果针对两个类型相加,需要转化成一个相同的类型进行计算

字符串

string 类型,使用双引号控制

字符串的底层就是一个byte的数组,可以和[]byte类型相互转换

例: var a string = "hello word"

引号说明

  • 双引号: 可以包含控制字符,表示一个字符串,其实质是一个byte类型的数组,可以使用索引和len访问
  • 反引号: 所有的字符都原样输出
  • 单引号:单引号里面只能包含一个字符,默认是 rune类型(等同于int32),输出的值改会自动改为字符的ASCII值。

字符串的常用操作

a. ⻓度:len(str)

b. 拼接:+fmt.Sprintf

c. 分割:strings.Split

d. 包含: strings.Contains

e. 前缀或后缀判断:strings.HasPrefix, strings.HasSuffix

f. ⼦串出现的位置: strings.Index(), strings.LastIndex()

**g. **join操作: strings.Join(a[]string, sep string)

字符串中的占位符

%v 相应值得默认格式

%+v 打印结构体时,会添加字段名称

%#v 相应值的go语法表示,展示map使用

%T 相应值的类型输出

%t 布尔值的输出:true或者false

%d 表示十进制

%p 表示指针变量的地址

原文地址:https://www.cnblogs.com/fan-yi/p/13803110.html