go基础语法-内置变量类型
1.内建变量一览
- bool,string
- (u)int,(u)int8,(u)int16,(u)int32,(u)int64,uintptr
无长度int的实际长度取决于操作系统位数(32/64)
uintptr为指针类型 - byte,rune
rune相当于其他语言的char,长度为int4(32位) - float32,float32,complex64,complex128
complex为复数(1+1i)
2.强制类型转换
golang有严格的类型匹配,不同的类型之间通常需要手动转换(interface类型除外,以后详细讲解),编译器不会进行自动转换
3.浮点数进度
浮点数运算会丢失精度,解决方法很多,在测试代码中提供了一种,思路为:如果要保留m位小数,对m + 1位加0.5后四舍五入
测试代码
package main
import (
"fmt"
"math"
"math/cmplx"
)
/*
测试复数,勾股定理
*/
func complexTest() {
c := 5 + 12i
fmt.Println(cmplx.Abs(c))
}
/*
欧拉公式
*/
func euler() {
fmt.Printf("%.1f\n", //浮点运算会丢失精度,这里只保留一位小数,也可保留多位
cmplx.Exp(1i*math.Pi)+1)
}
/*
精度损失的解决方案,sou : 浮点数,m : 要保留的位数
*/
func preciseGuarantee(sou float64, m int) {
n := math.Pow10(m) //n = 10的m次方
fmt.Println(math.Trunc((sou+0.5/n)*n) / n)
}
/*
强制类型转换
*/
func triangle(){
a,b,c := 3,4,0
c=int( //c为int型,math.Sqrt返回值类型为float64,需要强转,不能自动转换
math.Sqrt(float64(a*a+b*b))) //math.Sqrt参数类型为float64
fmt.Println(c)
}
func main() {
complexTest()
euler()
preciseGuarantee(3.141592653589793, 10)
triangle()
}
go基础语法-内置变量类型的更多相关文章
- CMake语法—内置变量
目录 CMake语法-内置变量 1 CMake变量分类 1.1 普通变量 1.2 缓存变量 1.3 环境变量 1.4 内置变量 2 CMake内置变量分类 2.1 提供信息的变量 2.2 改变行为的变 ...
- c++内置变量类型
1,各种变量占据的内存空间 char:1个字节,也可亦作为0-255的数值参与运算 一般来说,静态存储区的自动赋初值,动态则不自动(貌似也不对,因为非内置变脸的类型,也都调用了默认构造函数进行初始化) ...
- JS基础语法---内置对象
js学习中三种对象: 内置对象----js系统自带的对象 自定义对象---自己定义的构造函数创建的对象 浏览器对象---BOM的时候讲 内置对象: Math Date String Array Obj ...
- nginx基础学习第二篇:nginx内置变量的使用
ngx_http_core模块提供的内置变量有很多,常见的有 $uri,用来获取当前请求的uri,不含请求参数. $request_uri,用来获取请求最原始的uri,包含请求参数,且未解码. $re ...
- Nginx内置变量及正则语法
对于很多Nginx初学者来说,配置文件是必须要看懂的.但是当公司的Nginx配置文件放在你面前的时候你总会被一些带着"$"符号和一大推看不懂的的正则给正懵逼.没错带着"$ ...
- Linux基础教程 linux awk内置变量使用介绍
awk是个优秀文本处理工具,可以说是一门程序设计语言.下面是兄弟连Linux培训 给大家介绍的awk内置变量. 一.内置变量表 属性 说明 $0 当前记录(作为单个变量) $1~$n 当前记录的第n个 ...
- 『忘了再学』Shell基础 — 29、AWK内置变量
目录 1.AWK内置变量 2.练习说明 (1)$n变量练习 (2)FS变量练习 (3)NF变量和NR变量练习 3.总结: 1.AWK内置变量 AWK内置变量如下表: awk内置变量 作用 $0 代表目 ...
- 十五. Python基础(15)--内置函数-1
十五. Python基础(15)--内置函数-1 1 ● eval(), exec(), compile() 执行字符串数据类型的python代码 检测#import os 'import' in c ...
- iMacros 入门教程-内置变量介绍(5)
iMacros 的变量类型 1.!VAR0 到 !VAR9,这是系统定义的内置变量,专门给你赋值用 就是程序设定了这几个名字给你赋值 2.内建变量 就是 imacros 设定的特别作用的变量,例如 ! ...
随机推荐
- php红包生成随机算法
一.适用场景 红包总金额X,分配成Y个红包,每个红包随机金额. 二.生成算法 /** * 红包生成算法 * @param $money 总金额 * @param $number 红包数量 * @par ...
- linux配置sudo
编辑/etc/sudoers或者直接使用root用户运行visodu 添加如下两行:oracle ALL=(ALL) NOPASSWD: ALLoinstall ALL=( ...
- OC Nsstring的使用
// // main.m // NSString // // Created by mj on 13-4-5. // Copyright (c) 2013年 itcast. All rights re ...
- Oracle 查找带有CLOB字段的所有表
查找带有CLOB字段的以HEHE开头的所有表 select t.column_name ,DATA_TYPE,TABLE_NAMEfrom user_tab_columns twhere t.TABL ...
- ECharts属性设置
theme = { // 全图默认背景 // backgroundColor: ‘rgba(0,0,0,0)’, // 默认色板 color: ['#ff7f50','#87cefa','#da70d ...
- 【[SCOI2010]股票交易】
感谢dzm,尽管接受了\(The \text{ }\text{ }king\text{ } \text{ }of\text{ } \text{ }SD\)的指点但我还是不会 至少方程还是比较好推的 状 ...
- Codeforces Round #533 (Div. 2) C. Ayoub and Lost Array 【dp】
传送门:http://codeforces.com/contest/1105/problem/C C. Ayoub and Lost Array time limit per test 1 secon ...
- MS12-020蓝屏攻击
MS12-020远程桌面协议RDP拒绝访问漏洞 条件:受害者必须开放RDP协议 开放了3389端口 或者端口改了,知道对方RDP开放的对应端口. 过程:MSF利用 MSF显示为seems down说明 ...
- 在linux命令行中调试在OJ上的c++代码
gcc & g++现在是gnu中最主要和最流行的c & c++编译器 .g++是c++的命令,以.cpp为主,对于c语言后缀名一般为.c.这时候命令换做gcc即可. 编译器是根据gcc ...
- 【转】Linux如何查看JDK的安装路径
http://www.cnblogs.com/kerrycode/archive/2015/08/27/4762921.html 如何在一台Linux服务器上查找JDK的安装路径呢? 有那些方法可以查 ...