Infi-chu:

http://www.cnblogs.com/Infi-chu/

一、数据类型
数据类型的出现是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才需要申请大内存,就可以充分利用内存。Go语言按类别有以下几种数据类型:
1.布尔型
两个常量,true和false。
eg.

var a bool = true

2.数字类型
整型int,浮点型float32、float64

3.字符串类型
Go语言的字符串的字节使用UTF-8编码标识Unicode文本。

4.派生类型
指针类型、数组类型、结构化类型、Channel类型、函数类型、切片类型、接口类型、Map类型

二、数字类型
(基于架构的类型)
1.uint8
无符号8位整型[0,255]
2.uint16
无符号16位整型[0,65535]
3.uint32
无符号32位整型[0,4294967295]
4.uint64
无符号64位整型[0,18446744073709551615]
5.int8
有符号8位整型[-128,127]
6.int16
有符号16位整型[-32768,32767]
7.int32
有符号32位整型[-2147483648,2147483647]
8.int64
有符号64位整型[-9223372036854775808,9223372036854775807]

(浮点类型)
1.float32
IEEE-754 32位浮点型数
2.float64
IEEE-754 64位浮点型数
3.complex64
32 位实数和虚数
4.complex128
64 位实数和虚数

(其他数字类型)
1.byte
类似 uint8
2.rune
类似 int32
3.uint
32 或 64 位
4.int
与 uint 一样大小
5.uintptr
无符号整型,用于存放一个指针

三、变量
1.变量声明
第一种,先声明,不赋值

var a string

2.根据值自动判断变量类型

var b = 1

3.省略var,:=左侧的变量先前不能被声明过

c := 2

4.多变量声明

//类型相同多个变量, 非全局变量
var a1, a2, a3 int
a1, a2, a3 = 1, 2, 3
var b1, b2, b3 = 1, 2, 3 //和python很像,不需要显示声明类型,自动推断
c1, c2, c3 := 1, 2, 3 //出现在:=左侧的变量先前不能被声明过 // 这种因式分解关键字的写法一般用于声明全局变量
var (
d1 int
d2 string
)

四、常量
常量是一个简单值的标识符,在程序运行时,不会被修改的量。常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型。
1.格式:

// 单常量声明
// const 标识符 [类型] = value // 类型为可选项
// 多常量声明
// const a,b = 1,2 package main import "fmt" func main() {
const LENGTH int = 10
const WIDTH int = 5
var area int
const a, b, c = 1, false, "str" //多重赋值 area = LENGTH * WIDTH
fmt.Printf("面积为 : %d", area)
println()
println(a, b, c)
}

2.iota
iota,特殊常量,可以认为是一个可以被编译器修改的常量。iota 在 const关键字出现时将被重置为 0(const 内部的第一行之前),const 中每新增一行常量声明将使 iota 计数一次(iota 可理解为 const 语句块中的行索引)。

eg1

package main

import "fmt"

func main() {
const (
a = iota //0
b //1
c //2
d = "ha" //独立值,iota += 1
e //"ha" iota += 1
f = 100 //iota +=1
g //100 iota +=1
h = iota //7,恢复计数
i //8
)
fmt.Println(a,b,c,d,e,f,g,h,i)
}

eg2

package main

import "fmt"
const (
i=1<<iota
j=3<<iota
k
l
) func main() {
fmt.Println("i=",i)
fmt.Println("j=",j)
fmt.Println("k=",k)
fmt.Println("l=",l)
} // i=1:左移 0 位,不变仍为 1;
// j=3:左移 1 位,变为二进制 110, 即 6;
// k=3:左移 2 位,变为二进制 1100, 即 12;
// l=3:左移 3 位,变为二进制 11000,即 24。

GoLand(三)数据类型、变量和常量的更多相关文章

  1. Java 数据类型 & 变量与常量 & 注释

    一.数据类型 1.数据类型分类 Java 的数据类型分为两大类: 基本数据类型:整数.浮点数.字符型.布尔型 引用数据类型(对象类型):类.数组,字符串.接口等. 2.基本数据类型 四类八种基本数据类 ...

  2. JAVA数据类型,变量,转换,常量,运算符

    java数据类型: Java基本类型共有八种,基本类型可以分为三类: 1.字符类型char,用单引号赋值 2.布尔类型boolean 3.数值类型byte.short.int.long.float.d ...

  3. C语言基础学习基本数据类型-变量和常量

    变量和常量 什么是变量和常量?有些数据在程序运行前就预先设定,并在运行过程中不发生变化,称之为常量:有些数据在程序运行中可能发生变化或被赋值,称之为变量. 使用变量前必须先声明一个变量.变量定义的语法 ...

  4. 三.Python变量,常量,注释

    1. 运行python代码. 在d盘下创建一个t1.py文件内容是: print('hello world') 打开windows命令行输入cmd,确定后 写入代码python d:t1.py 您已经 ...

  5. Java程序,基本数据类型、、数据类型转换、变量和常量、常用运算符

    一.基本数据类型 整数类型:byte.short. int(常用).long(较常用)     定义某个变量          int  a=10: 浮点类型(小数):float.double(常用) ...

  6. Java第三天【变量、常量、数据类型】

    学习Java第三天!加油!请帖友看看有和不足的地方,和在下说一下,谢谢! 变量 变量(variable): 1.变量的本质就是代表"可操作的存储空间",空间位置是确定的,蛋里面放置 ...

  7. JAVA学习(三):Java基础语法(变量、常量、数据类型、运算符与数据类型转换)

    Java基础语法(变量.常量.数据类型.运算符与数据类型转换) 1.变量 Java中.用户能够通过指定数据类型和标识符来声明变量.其基本的语法为: DataType identifier; 或 Dat ...

  8. javascript 概述及基础知识点(变量,常量,运算符,数据类型)

    JavaScript概述 1.1 什么是JavaScript: javaScript(简称js),是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言.同时也是一种广泛用于客户端Web开发的脚本语 ...

  9. java学习笔记----数据类型,变量,常量

    一.数据类型 1.基本类型(8种,又称内置数据类型).6种数字类型(byte,short,int,long,float,double),一种字符型(char),一种布尔类型(boolean). byt ...

随机推荐

  1. Android解析ActivityManagerService(一)AMS启动流程和AMS家族

    前言 此前在Android系统启动流程.应用进程以及深入四大组件这三个系列文章中,都提及到了AMS,但都没有系统的来讲解它,本文就以AMS为主来进行讲解,其中会有一些知识点与这些系列文章有所重合,这里 ...

  2. Java类的封装

    java中四种不同的限定词限定的成员(成员变量或成员变量方法),访问权限由大到小依次为: public(公共的) 可以被所有的类访问 protected(受保护的) 可以被这个类本身访问 可以被它的子 ...

  3. spring boot(11)-druid监控

    druid druid是和tomcat jdbc一样优秀的连接池,出自阿里巴巴.关于druid连接池参数,参考 https://github.com/alibaba/druid/wiki/DruidD ...

  4. apache软件no_ssl和openssl两种类型的区别

    apache软件同一版本有两种类型:no_ssl和openssl: openssl多了个ssl安全认证模式,它的协议是HTTPS而不是HTTP,这就是带有SSL的服务器与一般网页服务器的区别了. 一般 ...

  5. mysql root更改远程登录

    mysql> select user,host from mysql.user; +---------------+-------------+ | user | host | +------- ...

  6. MVC 实现自定义404错误页

    直接进入正题. 在HomeController中有一个NotFound的Action方法. public ActionResult NotFound() { return View(); } 对应的视 ...

  7. 初始docker

    什么是docker? 很多人都是使用docker但是对docker的理解其实并没有这么透彻,只知道怎么用但是不知道为什么用 什么时候去用. 一.环境配置的难题 软件开发最大的麻烦事之一,就是环境配置. ...

  8. Linux tar命令详解

    当你想要压缩一大堆文件时,你得先将这一大堆文件先打成一个包(tar命令),然后再用压缩程序进行压缩(gzip bzip2命令) tar常见命令参数 必要参数有如下: -A 新增压缩文件到已存在的压缩 ...

  9. php数据结构之二叉树

    树是一种比较重要的数据结构, 尤其是二叉树.二叉树是一种特殊的树,在二叉树中每个节点最多有两个子节点,一般称为左子节点和右子节点(或左孩子和右孩子),并且二叉树的子树有左右之 分,其次序不能任意颠倒. ...

  10. pandas高级操作总结

    1.pandas中的列的分位数 # 查看列的分位数 import pandas as pd # set columns type my_df['col'] = my_df['col'].astype( ...