数据类型

Go语言按类别有以下几种数据类型:

  • bool,一个字节,值是true或者false,不可以用0或者1表示
  • int/uint(带符号为与不带符号位的int类型):根据平台不同是32位或者64位
  • intx/uintx:x代表任意位数,例如:int3,代表占3bit的int类型
  • byte占用8位,一个字节,相当于uint8,不带符号位
  • floatx:由于没有double类型,所以float64就是double。float32小数精确到7位,float64小数精确到15位
  • complex64/complex128:复数类型
  • uintptr:保存指针用的类型,也是随着平台改变而改变,因为指针的长度就是随平台而变
  • 其他类型值:array,struct,string
  • 引用类型:slice,map,channel
  • 接口类型:interface
  • 函数类型:func

注意:Golang中还有个rune类型,它等价于int32类型。

类型转换

Golang是静态类型的编程语言,所有数据的类型在编译期确定了。而且 Golang中即使是底层存的是一个类型,声明的类型不一样,也要强制转换才能互用。在Go 语言里面没有隐式转换,遇到不同类型想互用,只能进行强制类型转换。

Go语言类型转换基本格式如下:

type_name(expression)

其中type_name是数据类型,expression是原始数据或表达式。

以下实例中将整型转化为浮点型,并计算结果,将结果赋值给浮点型变量:

package main
import "fmt"
func main() {
var sum int = 232
var count int = 12
var avg float32
avg = float32(sum)/float32(count) //强制转换
fmt.Printf("avg 的值为: %f\n",avg)
}

GoLang学习之数据类型的更多相关文章

  1. Golang的基础数据类型-字符串型

    Golang的基础数据类型-字符串型 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.字符型概述 上一篇博客学习了使用单引号括起来的单个字符就是字符类型,在Golang中有两种表 ...

  2. golang学习之beego框架配合easyui实现增删改查及图片上传

    golang学习之beego框架配合easyui实现增删改查及图片上传 demo目录: upload文件夹主要放置上传的头像文件,main是主文件,所有效果如下: 主页面: 具体代码: <!DO ...

  3. Golang学习 - 学习资源列表

    Golang 学习资源: <Go 语言圣经(中文版)>  - 书籍 http://shinley.com/index.html <学习 Go 语言> - 书籍 http://w ...

  4. Golang学习:sublime text3配置golang环境

    最近导师让学习golang, 然后我就找了些有关golang的学习视频和网站. 昨天在电脑上下载了go tools, 之后在sublime上配置了golang的运行环境.By the way, 我的电 ...

  5. golang学习笔记20 一道考察对并发多协程操作一个共享变量的面试题

    golang学习笔记20 一道考察对并发多协程操作一个共享变量的面试题 下面这个程序运行的能num结果是什么? package main import ( "fmt" " ...

  6. golang学习笔记19 用Golang实现以太坊代币转账

    golang学习笔记19 用Golang实现以太坊代币转账 在以太坊区块链中,我们称代币为Token,是以太坊区块链中每个人都可以任意发行的数字资产.并且它必须是遵循erc20标准的,至于erc20标 ...

  7. golang学习笔记18 用go语言编写移动端sdk和app开发gomobile

    golang学习笔记18 用go语言编写移动端sdk和app开发gomobile gomobile的使用-用go语言编写移动端sdk和app开发https://blog.csdn.net/u01249 ...

  8. golang学习笔记17 爬虫技术路线图,python,java,nodejs,go语言,scrapy主流框架介绍

    golang学习笔记17 爬虫技术路线图,python,java,nodejs,go语言,scrapy主流框架介绍 go语言爬虫框架:gocolly/colly,goquery,colly,chrom ...

  9. golang学习笔记16 beego orm 数据库操作

    golang学习笔记16 beego orm 数据库操作 beego ORM 是一个强大的 Go 语言 ORM 框架.她的灵感主要来自 Django ORM 和 SQLAlchemy. 目前该框架仍处 ...

随机推荐

  1. LCA(最近公共祖先)模板

    Tarjan版本 /* gyt Live up to every day */ #pragma comment(linker,"/STACK:1024000000,1024000000&qu ...

  2. 为什么要选择OMP之合规性

  3. MacBook小技巧

    退出全屏:Control+Command+F.关闭当前的应用程序:Command+W.退出应用程序,可对着Dock上的应用程序辅助点按(右键),选择退出.也可直接按Commnad+Q退出当前的应用程序 ...

  4. 219.01.19 bzoj3252: 攻略(长链剖分+贪心)

    传送门 长链剖分好题. 题意:给一棵带点权的树,可以从根节点到任一叶节点走kkk次,走过的点只能计算一次,问kkk次走过的点点权值和最大值. 思路: 考虑将整棵树带权长链剖分,这样链与链之间是不会重复 ...

  5. while (~scanf("%d%d",&m,&n))什么用的?

    ACM中比较常见,其功能是循环从输入流读取m和n,直到遇到EOF为止,等同于while (scanf("%d%d",&m,&n)!=EOF). scanf()函数返 ...

  6. 怎么通过tomcat的catalina.out查看日志

    进入tomcat的logs目录下:cd apache-tomcat/logs/ 查看logs下的文件和目录:ll   可以找到catalina.out文件: 实时查看日志: tail -fn 100 ...

  7. VMware Authorization Service不能启动 VMware虚拟机状态已挂起无法恢复解决方案

    在网上看说在服务里面启动 但也是不能用 电脑上说是WINDOWS无法启动VMware Authorization Service服务(位于本地计算机上)错误:1068 依赖服务或组无法启动 这个很简单 ...

  8. typecho开启pjax,ajax,无刷新

    1.引入jquery和pjax 检查你的网站是否引入1.7.0版本以上的jquery.js,如果没有请全局引入 https://files.cnblogs.com/files/fan-bk/pjax. ...

  9. sas和ssd盘写入数据效率对比

    表结构如下: CREATE TABLE `tab_AAA` (  `id` bigint(20) NOT NULL AUTO_INCREMENT ,  `customer_no` varchar(32 ...

  10. 微信接入时tomcat的端口调整

    必须以http://或https://开头,分别支持80端口和443端口. www.xx.com 等同于 www.xx.com:80 但tomcat默认端口是8080,需要修改为80 修改方法: TO ...