附录
%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语言支持两种浮点型 数:float32 和 float64
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.000000
转string 17
转float64 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
如果有什么问题 欢迎在下面留言
-----真假的界限本来就很模糊,世间万物皆信息,能被修改的东西,本身就没有纠结真假的意义