Go数据类型、关键字、标识符

1 数据类型

1.1 按类别

  • 布尔型:只可以是常量 true 或者 false。
//eg:
var b bool = true
  • 数字类型:整型和浮点型。

  • 位的运算采用补码字符串类型:字符串就是一串固定长度的字符连接起来的字符序列,Go 的字符串是由单个字节连接起来。

  • Go 语言的字符串的字节使用 UTF-8 编码标识 Unicode 文本

  • 复数:complex128(64 位实数和虚数)和 complex64(32 位实数和虚数),其中 complex128 为复数的默认类型。 注:

  • i. 复数的值由三部分组成 RE + IMi,其中 RE 是实数部分,IM 是虚数部分,RE 和 IM 均为 float 类型,而最后的 i 是虚数单位。

var name complex128 = complex(x, y)
//或者
z := complex(x, y)
x = real(z)
y = imag(z)
  • ii. 复数也可以用==和!=进行相等比较,只有两个复数的实部和虚部都相等的时候它们才是相等的

1.2 派生类型

  • 指针类型(Pointer)
  • 数组类型
  • 结构化类型(struct)
  • Channel类型
  • 函数类型
  • 切片类型
  • 接口类型(interface)
  • Map类型

1.3 基于架构

整型,同时提供了四种有符号整型,分别对应8、16、32、64bit(二进制)的有符号整数,与此对应四种无符号的整数类型

  • uint8:无符号8位整型(0~255)
  • uint16
  • uint32
  • uint64
  • int8
  • int16
  • int32
  • int64
    浮点数
  • float32
  • float64
  • complex64(实数虚数)
  • complex128
    其他
  • byte
  • rune

package main

import (
    "fmt"
    "unicode/utf8"
)

func main() {

    var str = "hello 你好"

    //golang中string底层是通过byte数组实现的,座椅直接求len 实际是在按字节长度计算  所以一个汉字占3个字节算了3个长度
    fmt.Println("len(str):", len(str))
    
    //以下两种都可以得到str的字符串长度
    
    //golang中的unicode/utf8包提供了用utf-8获取长度的方法
    fmt.Println("RuneCountInString:", utf8.RuneCountInString(str))

    //通过rune类型处理unicode字符
    fmt.Println("rune:", len([]rune(str)))
}

返回结果:

len(str): 12
RuneCountInString: 8
rune: 8
  • uint
  • int
  • uintptr(无符号整型,存放一个指针)

注释:

    1. 表示Unicode字符的rune类型和int32类型是等价的,通常用于表示一个Unicode字符,是等价的。
  • 2.byte和uint8也是等价类型,byte类型一般用于强调数值是一个原始的数据而不是一个小的整数。
    1. 无符号的整数类型uintptr,它没有指定具体的bit大小但是足以容纳指针。只有在底层编程时才需要,特别是Go语言和C语言函数库或操作系统接口相交互的地方。
    1. 有符号整数采用2的补码形式表示,也就是最高bit位用来表示符号位,一个n-bit的有符号数的取值范围是从-2(n-1)到2(n-1)-1。无符号整数的所有bit位都用于表示非负数,取值范围是0到2n-1。
    1. 常量math.MaxFloat32 表示float32能取到的最大数值,大约是3.4e38。
    1. 常量math.MaxFloat64 表示float64能取到的最大数值,大约是1.8e308
    1. float32和float64能表示的最小值分别为1.4e-45和4.9e-324。
    1. 浮点数在声明的时候可以只写整数部分或者小数部分。
const e = .71828 //0.71828
const f = 1.           // 1
    1. 很小或很大的数最好用科学计数法书写,通过e或E来指定指数部分
const Avogadro = 6.02214129e23   // 阿伏伽德罗常数
const Planck = 6.62606957e-34      // 普朗克常数

2 关键字

2.1 25个关键字或保留字

关键字 关键字 关键字 关键字 关键字
break default func interface select
case defer go map struct
chan else goto package switch
const fallthrough if range type
continue for import return var

2.2 36个预定义标识符

预定义标识符 预定义标识符 预定义标识符 预定义标识符 预定义标识符 预定义标识符
append bool byte cap close complex
complex64 complex128 uint16 copy false float32
float64 imag int int8 int16 uint32
int32 int64 iota len make new
nil panic uint64 print println real
recover string true uint uint8 uintptr

2.3 知识点

  • 程序一般由关键字、常量、变量、运算符、字符和函数组成。
  • 程序中可能会使用到这些分隔符:括号(),中括号[]和大括号{}。
  • 程序中可能会使用到这些标点符号:.、,、;、:和...。

3 标识符

标识符用来命名变量、类型等程序实体。一个标识符实际上就是一个或多个字母(AZ和az)数字(0~9)、下划线“_”组成的序列,但是第一个字符必须是字母或下划线而不能是数字。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,636评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,890评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,680评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,766评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,665评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,045评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,515评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,182评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,334评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,274评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,319评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,002评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,599评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,675评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,917评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,309评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,885评论 2 341

推荐阅读更多精彩内容