go语言控制台输出 go语言控制台输入

go语言怎么输出字符串中的某个中文字符?for index,val := range a {
if val == '好' {
fmt.println(index,x)
}
}
对string做range得到go语言控制台输出的val是int32类型go语言控制台输出,直接用单引号比较就行
go语言怎么保持控制台最后一行输入而其他区域可以输出?reader := bufio.NewReader(os.Stdin)
fmt.Print("Enter text: ")
text, _ := reader.ReadString('\n')
fmt.Println(text)
这是读取控制台输入go语言控制台输出的数据go语言控制台输出,可以开协程的方式来执行这个代码go语言控制台输出,协程读取go语言控制台输出 , 就可以在其go语言控制台输出他地方使用
go的uint64转换成java的哪种类型Golang 和java/c不同 , Go在不同类型的变量之间赋值时需要显式转换 。也就是说Golang中数据类型不能自动转换 。
基本语法
表达式T(v))将值v 转换为类型T
T∶就是数据类型,比如int32,int64,float32等等
v∶ 就是需要转换的变量
var i int = 100
var b float64 = float64(i)
var c int64 = int64(b)
fmt.Printf("b=%f,c=%d",b,c)
b=100.000000,c=100
登录后复制
细节说明
1)Go中,数据类型的转换可以是从表示范围小-表示范围大,也可以范围大一范围小
2) 被转换的是变量存储的数据(即值),变量本身的数据类型并没有变化!
3) 在转换中,比如将 int64 转成int8,编译时不会报错,只是转换的结果是按溢出处理,和
我们希望的结果不一样 。(在转换的时候需要注意范围)
var a int64 = 10000000
var b int8 = int8(a)
fmt.Printf("%d",b)
-128
登录后复制
可以看到在转换的时候,一定要保证转换大数据要是对方可以接受的范围 。
n1类型是int32,那么?20整个就是int32类型,可是n2是int64,这样就会编译错误 。
【go语言控制台输出 go语言控制台输入】题二n4是12 + 127溢出超过了范围,运行的时候按照溢出处理 。n3是直接编译不通过,128已经超过了int8类型的范围
基本数据类型和string的转换
字符串格式化
Go语言用于控制文本输出常用的标准库是fmt
fmt中主要用于输出的函数有:
Print: 输出到控制台,不接受任何格式化操作
Println: 输出到控制台并换行
Printf : 只可以打印出格式化的字符串 。只可以直接输出字符串类型的变量(不可以输出别的类型)
Sprintf:格式化并返回一个字符串而不带任何输出
Fprintf:来格式化并输出到 io.Writers 而不是 os.Stdout
整数类型
格 式 描 述
%b 整型以二进制方式显示
%o 整型以八进制方式显示
%d 整型以十进制方式显示
%x 整型以十六进制方式显示
%X 整型以十六进制、字母大写方式显示
%c 相应Unicode码点所表示的字符
%U Unicode 字符, Unicode格式:123,等同于 "U+007B"
浮点数
格 式 描 述
%e 科学计数法,例如 -1234.456e+78
%E 科学计数法,例如 -1234.456E+78
%f 有小数点而无指数 , 例如 123.456
%g 根据情况选择 %e 或 %f 以产生更紧凑的(无末尾的0)输出
%G 根据情况选择 %E 或 %f 以产生更紧凑的(无末尾的0)输出
布尔
格 式 描 述
%t true 或 false
字符串
格 式 描 述
%s 字符串或切片的无解译字节
%q 双引号围绕的字符串,由Go语法安全地转义
%x 十六进制 , 小写字母,每字节两个字符
%X 十六进制,大写字母 , 每字节两个字符
指针
格 式 描 述
%p 十六进制表示 , 前缀 0x

推荐阅读