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()
}

原文地址:https://www.cnblogs.com/lz120792/p/9557402.html

时间: 2024-08-06 15:11:30

go基础语法-内置变量类型的相关文章

JS基础语法---内置对象

js学习中三种对象: 内置对象----js系统自带的对象 自定义对象---自己定义的构造函数创建的对象 浏览器对象---BOM的时候讲 内置对象: Math Date String Array Object //如何验证变量是不是对象? console.log(Array instanceof Object); var obj={}; console.log(obj instanceof Object); 原文地址:https://www.cnblogs.com/jane-panyiyun/p/

Linux 基础知识:Bash的内置变量

Bash默认建立了许多内置变量,以下介绍些这类变量. 1. BASH 用途:显示bash的完整路径名.通常是:/bin/bash或/usr/local/bin/bash. 用例:echo $BASH 2. BASH_VERSION 用途:bash的版本. 用例:echo $BASH 4执行结果:4.1.2(1)-release 3. FUNCNAME 用途:在函数式执行期,此变量内容即为函数式的名称. 用例: function show_name() { echo $FUNCNAME echo

Linux基础教程 linux awk内置变量使用介绍

awk是个优秀文本处理工具,可以说是一门程序设计语言.下面是兄弟连Linux培训 给大家介绍的awk内置变量. 一.内置变量表 属性 说明 $0 当前记录(作为单个变量) $1~$n 当前记录的第n个字段,字段间由FS分隔 FS 输入字段分隔符 默认是空格 NF 当前记录中的字段个数,就是有多少列 NR 已经读出的记录数,就是行号,从1开始 RS 输入的记录他隔符默 认为换行符 OFS 输出字段分隔符 默认也是空格 ORS 输出的记录分隔符,默认为换行符 ARGC 命令行参数个数 ARGV 命令

nginx基础学习第二篇:nginx内置变量的使用

ngx_http_core模块提供的内置变量有很多,常见的有 $uri,用来获取当前请求的uri,不含请求参数. $request_uri,用来获取请求最原始的uri,包含请求参数,且未解码. $request,获取请求方法(GET或者POST).$request_uri.HTTP协议版本. $args,获取当前请求的参数串(即请求中问号后面的部分,如果有的话),未解码的原始值.$args变量是可以改变的,利用set指令即可 set $args a=1&b=2.需要注意的是,绝大部分的内置变量都

Swift基础语法(常量变量、数据类型、元组、可选、断言等)

Swift 是 iOS 和 OS X 应用开发的一门新语言.然而,如果你有 C 或者 Objective-C 开发经验的话,你会发现 Swift 的很多内容都是你熟悉的. Swift 的类型是在 C 和 Objective-C 的基础上提出的,Int是整型:Double和Float是浮点型:Bool是布尔型:String是字符串.Swift 还有两个有用的集合类型,Array和Dictionary,请参考集合类型. 就像 C 语言一样,Swift 使用变量来进行存储并通过变量名来关联值.在 Sw

Linux进阶之bash编程四(内置变量)

一:基础回顾 1:文件清空 [[email protected] test]$ >log.txt 2:正常和错误重定向输出 //正常和错误都追加输出到同样地方 [[email protected] test]$ ifconfig &>>log.1 //正常输出重定向[[email protected] test]$ ifconfig >log //错误输出重定向[[email protected] test]$ ifconfig 2>log.23:命令执行控制 //休

iMacros 入门教程-内置变量介绍(5)

iMacros 的变量类型 1.!VAR0 到 !VAR9,这是系统定义的内置变量,专门给你赋值用 就是程序设定了这几个名字给你赋值 2.内建变量 就是 imacros 设定的特别作用的变量,例如 !URLCURRENT 这个变量就代表着这个变量是说当前的URL imacros 的内部变量 !HTTP ERRORCODE 用法 !HTTP ERRORCODE 这个内置变量主要是显示出现的HTTP错误代码,大于400的错误代码 例如: SET !ERRORIGNORE YES URL GOTO=h

Nginx内置变量以及日志格式变量参数详解

Nginx内置变量以及日志格式变量参数详解 $args #请求中的参数值 $query_string #同 $args $arg_NAME #GET请求中NAME的值 $is_args #如果请求中有参数,值为"?",否则为空字符串 $uri #请求中的当前URI(不带请求参数,参数位于$args),可以不同于浏览器传递的$request_uri的值,它可以通过内部重定向,或者使用index指令进行修改,$uri不包含主机名,如"/foo/bar.html". $d

Linux高级文本处理之gawk内置变量(一)

一.FS –输入字段分隔符 FS是awk内置变量,用来制定行分隔符,功能能-F一样,区别在于FS只能用在BEGIN语句块当中,命令格式如下: BEGIN{FS="SEPARATOR"} 实例1: [[email protected] ~]# awk 'BEGIN { FS=","; print "---------------------------\nName\tTitle\n------------------------"} {print