Golang学习笔记(2)---go语言基本类型

布尔型:bool

长度1字节

取值范围:true,false

注意:不可以用数字代表true或false

整型:Int

根据平台可能为32为或64位

8位整型:int8/uint8

长度:1字节

取值范围:-127~127,0~255

byte 字节型  其实就是 uint8的别名

16位整型:int16/uint16

长度:2字节

取值范围:-32768~32768,0~65535

32位整型:int32/uint32

长度:4字节

rune就是int32的别名

浮点型:float32/float64

长度:4字节/8字节

小数位:float32精确到小数点后7位,float64精确到小数点后15位

保存指针的uintptr类型,根据平台来分为32位或64位

其他类型:

array   struct   string

引用类型:

map  slice  chan(并发会使用到)

接口类型:interface

函数类型:func   (因为函数可以复制给变量的)

类型零值:

零值并不等于空置,而是当变量被声明为某种类型后的默认值,通常情况下值的类型都为0,bool为 false,string为空字符串,数组的话和数组类型的零值保持一致 [2]int,则数组的初始值为[0 0]

类型别名:

使用type对类型进行别名

这样是可以的,但是不建议这样使用,type定义一些其他的别名(type byte64  int64),来使代码可读性更强

type定义的类型的别名,其实只是和该类型的结构相同,所以要做类型转换的时候,还是需要进行显式转换的,而byte rune 的确是uint8 int32,的别名,可以进行相互转换

可以进行转换:

这样是无法进行转换的

必须做显式的类型转换才可以

时间: 2024-10-03 22:53:55

Golang学习笔记(2)---go语言基本类型的相关文章

Go语言学习笔记(一) [Go语言的HelloWorld]

日期:2014年7月18日 1.简介 Go 编程语言是一个使得程序员更加有效率的开源项目.Go 是有表达力.简 洁.清晰和有效率的.它的并行机制使其很容易编写多核和网络应用,而新奇的类型系统允许构建有性的模块化程序.Go 编译到机器码非常快 速,同时具有便利的垃圾回收和强大的运行时反射.它是快速的.静态类型编译语言,但是感觉上是动态类型的,解释型语言. Go 是第一个实现了简单的(或更加简单的)并行开发,且跨平台的类 C 语言. 2.Go语言文档查看 安装好Go语言之后,其文档可以通过go do

HTML&CSS基础学习笔记4-定义文档类型

定义HTML的文档类型 Web 世界中存在许多不同的文档.只有了解文档的类型,浏览器才能正确地显示文档. HTML 也有多个不同的版本,只有完全明白页面中使用的确切 HTML 版本,浏览器才能完全正确地显示出 HTML 页面.这就是 <!DOCTYPE> 的用处. <!DOCTYPE> 声明不是 HTML 标签,它是指示 web 浏览器关于页面使用哪个 HTML 版本进行编写的指令.是一种标准通用标记语言的文档类型声明,它的目的是要告诉标准通用置标语言解析器,它应该使用什么样的文档

《深入Java虚拟机学习笔记》- 第7章 类型的生命周期

一.类型生命周期的开始 如图所示 初始化时机 所有Java虚拟机实现必须在每个类或接口首次主动使用时初始化: 以下几种情形符合主动使用的要求: 当创建某个类的新实例时(或者通过在字节码中执行new指令,或者通过不明确的创建.反射.克隆和反序列化): 当调用某个类的静态方法时(即在字节码中执行invokestatic指令): 当使用某个类或接口的静态字段,或者对该字段赋值时(用final修饰的静态字段除外,它被初始化为一个编译时常量表达式): 当调用Java API中的某些反射方法: 当初始化某个

[Spring Data MongoDB]学习笔记--_id和类型映射

_id字段的映射: MongoDB要求所有的document都要有一个_id的字段. 如果我们在使用中没有传入_id字段,它会自己创建一个ObjectId. { "_id" : ObjectId("53e0ff0b0364cb4a98ce3bfd"), "_class" : "org.springframework.data.mongodb.examples.hello.domain.Person", "name&q

Java学习笔记(Java语言规范,API,JDK,IDE)

Java语言规范:java.sun.com/docs/books/jls 三个版本的API:J2SE J2EE J2ME 1. J2SE 客户端独立应用程序或者applet 2. J2EE 服务端应用程序 [Java Servlets&JavaServer Page] 3. J2ME 移动设备变成 JDK为Java开发提供一个开发环境(IDE) Java学习笔记(Java语言规范,API,JDK,IDE)

golang学习笔记————字符串

字符串的创建 在golang中 字符串是使用双引号("")包裹住的字符序列: 字符是使用单引号('')包裹住的单一字符: 声明字符串的方式:var strvalue string 声明并创建的方式:strvalue := "This is a string!"; KeyPoint: 一旦字符串变量被初始化后,则不可单独改变该字符串序列中的某一字符:但该字符串变量可以重新被赋值: Ex:   strvalue := "abcd" fmt.Print

23 DesignPatterns学习笔记:C++语言实现 --- 1.5 Prototype

2016-07-21 (www.cnblogs.com/icmzn) 模式理解 1. Prototype  原型模式定义    提供了类的自我复制的能力,即通过已有对象进行新对象的创建.因为原型模式实在内存中进行二进制流的拷贝,所以比直接通过new 一个对象性能好.不同的实现方式与具体的语言相关. 2. 原型模式的优点(1)性能优良,实在内存中基于二进制的拷贝(2)在进行原型模式的时候,并不通过构造函数. 3. 原型模式的适用场景(1)需要根据已有对象创建大量的对象:(2)某个对象的创建需要有大

互联网世界中的C语言——我的golang学习笔记:1(基础语法快速过)

前言 学习任何知识都会有一个学习背景 最近,我们团队乃至我司整个云服务,上go的呼声越来越高!新服务已经开始用go开发,部分现有Java版的服务重构为go也只是时间问题而已,故相关技术积累势在必行!在云网络的分布式服务乃至在一切高并发,分布式后台服务中,golang都有着很大的优势. 据我对国内互联网行业的实际考察,了解,目前国内主流互联网公司都在积极投入go的怀抱…… 青云更是全栈使用了go…… 还有火的一塌糊涂的docker. 它为云而生. 它为并发而生. 还有go的安全.简洁.高效 有良好

Golang学习笔记(3)---go语言变量、常量的定义及赋值

单个变量的赋值与声明 变量的声明格式:var  <变量名称>  <变量类型> 变量的赋值格式:<变量名称> = <表达式> 声明的同时赋值:var <变量名称> [变量类型] = <表达式> <变量名> := <变量值>  --->只能在函数体内使用 多个变量的复制与声明 全局变量的声明可以使用var()的方式简写 全局变量的声明不可以省略var,但可使用并行的方式 所有变量都可以使用类型推断 并行方式的