Go语言(Golang)作为一门崇尚简洁的编程语言,主张使用20%的设计,解决80%的问题,他的全新设计思路,在如今21世纪非常值得我们去学习参考

没有隐式数据类型转换,没有构造函数或者析构函数,没有运算符重载也没有继承、泛型、异常…但它却拥有垃圾搜集、一等函数、词法作用域以及channel等等

一.数据类型

整体类型 描述
布尔型 布尔型的值只可以是常量 true 或者 false。例:var b bool = true
数字类型 整型 int 和浮点型 float32、float64,Go 语言原生支持复数,其中位的运算采用补码
字符串类型 字符串就是一串固定长度的字符连接起来的字符序列。Go的字符串是由单个字节连接起来的。Go语言的字符串的字节使用UTF-8编码标识Unicode文本
派生类型 包括:
(a) 指针类型(Pointer)
(b) 数组类型
(c) 结构化类型(struct)
(d) Channel 类型
(e) 函数类型
(f) 切片类型
(g)接口类型(interface)
(h) Map 类型
整数类型 描述
uint8 无符号 8 位整型 (0 到 255)
uint16 无符号 16 位整型 (0 到 65535)
uint32 无符号 32 位整型 (0 到 4294967295)
uint64 无符号 64 位整型 (0 到 18446744073709551615)
int8 有符号 8 位整型 (-128 到 127)
int16 有符号 16 位整型 (-32768 到 32767)
int32 有符号 32 位整型 (-2147483648 到 2147483647)
int64 有符号 64 位整型 (-9223372036854775808 到 9223372036854775807)
浮点数&复数类型 描述
float32 IEEE-754 32位浮点型数
float64 IEEE-754 64位浮点型数,浮点数默认类型
complex64 32 位实数和虚数
complex128 64 位实数和虚数,复数默认类型
其他数字类型 描述
byte uint8别名,用来存放字符
rune 等价int32,存放Unicode编码
uint 32 或 64 位
int 与 uint 一样大小
uintptr 无符号整型,用于存放一个指针
package main
import (
"fmt"
"math"
)
func main()  {var a,b int  =3,4var c int//强制类型转换,GO语言没有 隐式类型转换c=int(math.Sqrt(float64(a*a+b*b)))  //强制类型 转换fmt.Println(c)
}
package mainimport "fmt"func variable(){//定义变量, 变量名在前, 类型在后var a intvar s stringfmt.Print(a,s)         //打印Go语言变量的初值fmt.Print("%d,%q\n",a,s)
}func variableTypeDeduction(){//自动推断类型var s="abcd"var a,b,c  =1,true,"hello,world" //定义多个变量,即使不是同一类型fmt.Println(s,a,b,c)
}func variableShorter()  {a,b,c:=1,true,"hello,world" //定义变量,不使用var关键字fmt.Println(a,b,c)
}func variableInit()  {//定义变量 并 赋初值var a int  = 3var b,c int =4,5var s string="abc"fmt.Println(a,b,c,s)
}func main()  {
variable()             //定义变量
variableTypeDeduction() //自动推断类型
variableShorter()  //自动推断类型 简写(函数外的包变量不可以简写)
variableInit()     //定义变量并 赋初值
}

变量的声明 很像 javascript ,使用var关键字

常量很简单,使用const关键字

package main
import "fmt"
func main(){var x int=100           //声明初始化一个变量var str string="hello world"var i,j,k int=1,2,3     //声明初始化多个变量fmt.Printf("%d\t %s\t %d\t %d\t %d\n",x,str,i,j,k)var b=true       //bool型fmt.Printf("%d\t %s\t",b,b)x2:=100    //等价于 var x int=100;fmt.Printf("%d\n",x2)const s2 string="hello world"const pi float32 =3.1415926fmt.Printf("%s\t %f\n",s2,pi)
}

Go语言学习之旅01--变量与数据相关推荐

  1. C语言学习--01 认识数据类型

    C语言学习--01 认识数据类型 #include<stdio.h> int main(){//sizeof 计算类型或者变量所占空间的大小printf("%d\n", ...

  2. C语言-学习之路-01

    C语言学习之路-01 目录 关键字 数据类型 常量 变量 声明和定义 进制 sizeof关键字 整型:int short.int.long.long long 字符型:char ASCII对照表 转义 ...

  3. zynq的emio和axi_【ZYNQ7000学习之旅 - 01】EMIO练习

    [ZYNQ7000学习之旅 - 01]EMIO练习 [ZYNQ7000学习之旅 - 01]EMIO练习 ZYNQ7000 EMIO练习参考 背景 准备 功能 生成XSA文件 编写APP 总结 xili ...

  4. Go语言学习之旅--gorm(一)

    Go语言学习之旅--gorm gorm概述 ORM简介 安装 gorm声明模型 模型定义 约定 gorm.Model gorm连接到数据库 快速入门 gorm的增删查改 增 gorm创建记录 用指定的 ...

  5. R语言通过loess去除某个变量对数据的影响

      当我们想研究不同sample的某个变量A之间的差异时,往往会因为其它一些变量B对该变量的固有影响,而影响不同sample变量A的比较,这个时候需要对sample变量A进行标准化之后才能进行比较.标 ...

  6. linux r的数据是存在,R语言通过loess去除某个变量对数据的影响

    当我们想研究不同sample的某个变量A之间的差异时,往往会因为其它一些变量B对该变量的固有影响,而影响不同sample变量A的比较,这个时候需要对sample变量A进行标准化之后才能进行比较.标准化 ...

  7. R语言通过loess去除某个变量对数据的影响--CNV分析

    当我们想研究不同sample的某个变量A之间的差异时,往往会因为其它一些变量B对该变量的固有影响,而影响不同sample变量A的比较,这个时候需要对sample变量A进行标准化之后才能进行比较.标准化 ...

  8. 我的Go语言学习之旅四:各种变量的声明

    同样还是直接看实例吧,比起各种赘述来要实际多了 a:=10; b:="Hello World"; fmt.Printf("%d\n",a); fmt.Print ...

  9. go语言复数包_go语言学习之包和变量详解

    前言 本文主要介绍了关于go语言之包和变量的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 一.包的概念 包是go语言中不可缺少部分,在每个go源码的第一行进行定义,定义方 ...

最新文章

  1. 杨老师课堂_Java核心技术下之控制台模拟记事本案例...
  2. 8.5 特征选择-机器学习笔记-斯坦福吴恩达教授
  3. c++ explicit
  4. 机器学习算法总结--随机森林
  5. 洛谷 P3392 涂国旗
  6. 链路追踪php,easyswoole链路追踪
  7. (22)System Verilog按时间顺序的通知需求(事件驱动)
  8. hdu1426 Sudoku Killer
  9. 有关libeva的使用说明 - 登录和登出操作
  10. Centos7 Kubernetes(K8s) k8s 开发 单服务器部署 rocketmq
  11. 易语言webservice接口_易语言webservice接口调用助
  12. 写歌词的技巧和方法,写歌词的基本要求,歌词创作基本知识及注意事项,创作歌词的要点
  13. 二维绕任意点旋转_旋转变换(一)旋转矩阵
  14. NVIDIA图形处理单元(GPU)驱动安装指南
  15. Galaxian 小蜜蜂
  16. 苹果xr十大隐藏功能_今天才发现!苹果手机闹钟除了提醒起床,还有3个隐藏功能...
  17. 小程序停止html5音乐,微信小程序API 音乐播放控制
  18. fseek函数的用法(用于设定指针位置)
  19. 知识图到文本的生成——叁
  20. python命令行窗口最大化_基于python的豆瓣FM(终端命令行界面)

热门文章

  1. 基于全局场景背景图和关系优化的全景3D场景理解(ICCV 2021)
  2. ICCV 2021 | 英伟达新研究:直接通过视频就能捕获3D人体动作!
  3. RDKit | 基于RDKit通过SMARTS定义反应模式来生成反应产物
  4. Ubuntu 18.04 LTS安装配置驱动、CUDA9.1和Amber18 AmberTools18
  5. RDKit | 比较化合物并通过PCA可视化化学空间
  6. 2.爬虫的Python基础
  7. 对用户信息的模糊查找java_java中对SQL模糊查询通配符%的处理
  8. db2 某个字段排序_db2 中文排序 按拼音排序(utf-8编码)
  9. delphi dbgrideh 遍历每一个单元格_利用财务函数制作贷款计算器,让你了解还款的每一个细节...
  10. NC:你觉得你吃的是草,其实你还是吃的土(遗传发育所朱峰)