Go 语言系列教程(三) : 常量和类型转换

附录

%d 十进制整数
%x, %o, %b 十六进制,八进制,二进制整数。
%f, %g, %e 浮点数: 3.141593 3.141592653589793 3.141593e+00
%t 布尔:true或false
%c 字符(rune) (Unicode码点)
%s 字符串
%q 带双引号的字符串"abc"或带单引号的字符’c’
%v 变量的自然形式(natural format)
%T 变量的类型
%% 字面上的百分号标志(无操作数)

常量

常量就是不可变的变量,值得注意的是–常量表达式的值在编译期计算,而不是在运行期。每种常量的潜在类型都是基础类型: boolean、string或数字

定义方式

const	pi = 3.14159

和变量声明一样,可以批量声明多个常量;这比较适合声明一组相关的常量

## 约定常量全大写表示
const (
	STR= "this is go"
	PI= 3.1415926535897932445
	FLAG= true
)

iota常量生成器

常量声明可以使用iota常量生成器初始化,它用于生成一组以相似规则初始化的常量,但是不 用每行都写一遍初始化表达式。在一个const声明语句中,在第一个声明的常量所在的行, iota将会被置为0,然后在每一个有常量声明的行加一

下面是来自time包的例子,它首先定义了一个Weekday命名类型,然后为一周的每天定义了 一个常量,从周日0开始。在其它编程语言中,这种类型一般被称为枚举类型。

下面是来自time包的例子,它首先定义了一个Weekday命名类型,然后为一周的每天定义了 一个常量,从周日0开始。在其它编程语言中,这种类型一般被称为枚举类型

type Weekday int

const (
	Sunday Weekday = iota                
	Monday                
	Tuesday               
	Wednesday                
	Thursday                
	Friday                
	Saturday
)

类型转换

## 这里float64代表float类型有64比特位 
Go语言支持两种浮点型 数:float32float64  
var aInt int = 17
// 一般用这种方式强制转
fmt.Printf("转float64 %f  \n", float64(aInt))
fmt.Printf("转string %v  \n", strconv.Itoa(aInt))
fmt.Printf("转float64 %f  \n", float32(aInt))

输出
转float64 17.000000string 17float64 17.000000   

各种类型转字符串

resString := fmt.Sprintf("%d %v %v", 1, "coding3min", true)
fmt.Println(resString)

输出
1 coding3min true

string 和 bytes 的互相转换

// string  to bytes
resBytes := []byte("asdfasdf")
// bytes to string
resString = string(resBytes)
fmt.Println(resString)

输出
asdfasdf

如果有什么问题 欢迎在下面留言

-----真假的界限本来就很模糊,世间万物皆信息,能被修改的东西,本身就没有纠结真假的意义

猜你喜欢

转载自blog.csdn.net/qq_37806753/article/details/108755623
今日推荐