网站隐私声明模板,学php搞网站开发,做大数据和网站开发的前景,淘宝联盟网站建设不完整目录
一、三种类型的输出
print#xff1a;
println#xff1a;
printf#xff1a;
总结#xff1a;
代码展示#xff1a;
二、格式化占位符
%s#xff1a;用于格式化字符串。
%d#xff1a;用于格式化整数。
%f#xff1a;用于格式化浮点数。
%v#xff1…
目录
一、三种类型的输出
print
println
printf
总结
代码展示
二、格式化占位符
%s用于格式化字符串。
%d用于格式化整数。
%f用于格式化浮点数。
%v用于格式化任何值返回其默认格式。
%T用于输出变量的类型。
进制及其字符?
宽度标识符?
代码展示?
三、Fprint
输出到标准输出
写入文件中
输出到浏览器
代码展示
四、Sprint
基本用法
?多个参数格式化
格式化复杂数据类型
五、四种类型的输入
fmt.Scan()
fmt.Scanf()
fmt.Scanln()
bufio.Reader 一、三种类型的输出
在 Go 语言中print、printf和println是用于输出内容到控制台的函数但是它们的用法和功能有所不同
print
print是一个内置函数用于输出没有格式的字符串。它不添加换行符也不支持格式化。
println
println也是一个内置函数类似于print但它会在输出后自动添加一个换行符。
printf printf是fmt包中的一个函数支持格式化输出。可以使用格式化动词插入变量或指定输出格式。 package mainimport fmtfunc main() {// Print()函数用于打印字符串到标准输出,不带换行符fmt.Print(Hello, )fmt.Print(World!)// printf()函数用于格式化输出字符串fmt.Printf(Hello, %s!
, World)// Println()函数用于打印字符串到标准输出带换行符fmt.Println(Hello, World!)fmt.Println(Hello,, World!)
}总结
使用print和println进行简单输出。使用fmt.Printf进行格式化输出。
代码展示
package mainimport fmtfunc main() {// Print()函数用于打印字符串到标准输出,不带换行符fmt.Print(Hello, )fmt.Print(World!)// printf()函数用于格式化输出字符串fmt.Printf(Hello, %s!
, World)// Println()函数用于打印字符串到标准输出带换行符fmt.Println(Hello, World!)fmt.Println(Hello,, World!)
}二、格式化占位符
在 Go 语言中fmt.Printf函数使用格式化占位符来格式化输出。以下是一些常见的格式化占位符及其用法
%s用于格式化字符串。 %d用于格式化整数。 %f用于格式化浮点数。 %v用于格式化任何值返回其默认格式。 %T用于输出变量的类型。 进制及其字符 宽度标识符 代码展示
package main
import (fmt)
func main() {name : 小明fmt.Printf(Hello, %s!
, name) // 输出 Hello, 小明!age:18fmt.Printf(小明今年%d岁了
,age) // 输出 小明今年18岁了price:100.5fmt.Printf(价格是%.2f元
,price) // 输出 价格是100.50元//%vfmt.Printf(name%v,age%v,price%v
,name,age,price) // 输出 naem小明, age18,price100.5data : []int{1, 2, 3}fmt.Printf(Data: %v
, data) // 输出: Data: [1 2 3]fmt.Printf(Type of age: %T
, age) // 输出: Type of age: intfmt.Printf(Type of price: %T
, price) // 输出: Type of price: float64fmt.Printf(Type of data: %T
, data) // 输出: Type of data: []int//%tfmt.Printf(Is age true? %t
, age 18) // 输出: Is age true? truefmt.Printf(Is price true? %t
, price 100.5) // 输出: Is price true? truefmt.Printf(Is data true? %t
, data nil) // 输出: Is data true? false//%bnum : 10fmt.Printf(二进制表示 %d is %b
, num, num) // 输出: 二进制表示 10 is 1010//%cfmt.Printf(字符表示 %d is %c
, 65, 65) // 输出: 字符表示 65 is A//%dfmt.Printf(十进制表示 %d is %d
, num, num) // 输出: 十进制表示 10 is 10//%ofmt.Printf(八进制表示 %d is %o
, num, num) // 输出: 八进制表示 10 is 12//%xfmt.Printf(十六进制表示 %d is %x
, num, num) // 输出: 十六进制表示 10 is a
}三、Fprint
在 Go 语言中Fprint函数属于fmt包用于将格式化的输出写入到指定的io.Writer接口而不是直接输出到标准输出。常见的用途包括将输出写入文件、网络连接等。Fprint与Print和Println类似但它允许你指定输出的目的地。
输出到标准输出 写入文件中 写入文件的时候可以参考下表详细的罗列出了每一个数字代表的含义。 输出到浏览器 浏览器效果如下 代码展示
package main
import (fmtosnet/http
)
func main() {// 输出到标准输出fmt.Fprint(os.Stdout, Hello, world!)// 写入文件中f, err : os.OpenFile(test.txt, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0666)if err! nil {fmt.Println(err)return}defer f.Close()fmt.Fprint(f, Hello, world!)// 启动一个 HTTP 服务器监听 8080 端口并使用自定义的处理器 MyHandlerhttp.ListenAndServe(:8080, MyHandler{})
}
// 定义一个 MyHandler 结构体用于处理 HTTP 请求
type MyHandler struct {
}// 实现 http.Handler 接口的 ServeHTTP 方法
// 当有 HTTP 请求到达时该方法将被调用
func (*MyHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {// 使用 fmt.Fprint 将 Hello, world! 写入到浏览器的响应体中fmt.Fprint(w, Hello, world!)
}四、Sprint
在 Go 语言中Sprint函数属于fmt包用于将多个值格式化为字符串而不是直接输出到控制台。与Print或Println不同Sprint会返回一个字符串可以将其用于其他操作例如赋值给变量或用于进一步处理。
基本用法
package mainimport (fmt
)func main() {// 使用 Sprint 将字符串和数字组合生成一个字符串result : fmt.Sprint(Hello, , World!, 123)fmt.Println(result) // 输出: Hello, World!123
}多个参数格式化
package mainimport (fmt
)func main() {name : Aliceage : 30// 使用 Sprint 组合多个变量为字符串output : fmt.Sprintf(Name: %s, Age: %d, name, age)fmt.Println(output) // 输出: Name: Alice, Age: 30
}格式化复杂数据类型
package mainimport (fmt
)func main() {data : []int{1, 2, 3}// 格式化切片成字符串str : fmt.Sprint(data)fmt.Println(Data:, str) // 输出: Data: [1 2 3]
}Sprint用于将格式化的值转化为字符串并返回。Sprintf是更为常用的函数允许使用格式占位符来进行复杂的格式化。Sprint和Sprintf都不会直接输出到控制台而是生成字符串可以用于赋值或进一步的处理。
五、四种类型的输入
在 Go 语言中输入通常指的是从用户或其他来源读取数据的过程。主要使用fmt包中的函数和os包中的函数来处理输入。
fmt.Scan()
用于从标准输入读取数据适合读取单个值。
package mainimport (fmt
)func main() {var name stringfmt.Print(请输入你的名字: )fmt.Scan(name) // 将输入的名字存储到变量 name 中fmt.Println(你好,, name)
}fmt.Scanf()
用于格式化读取输入类似于printf的格式化输出。
package mainimport (fmt
)func main() {var name stringvar age intfmt.Print(请输入你的名字和年龄格式名字 年龄: )fmt.Scanf(%s %d, name, age) // 读取一个字符串和一个整数fmt.Printf(你好, %s你的年龄是 %d!
, name, age)
}fmt.Scanln()
类似于Scan()但会读取一整行直到换行符。
package mainimport (fmt
)func main() {var input stringfmt.Print(请输入一行内容: )fmt.Scanln(input) // 读取整行输入fmt.Println(你输入的是:, input)
}bufio.Reader
对于更复杂的输入通常使用bufio.Reader来读取。
它可以输入带空格的字符串
package mainimport (bufiofmtos
)func main() {reader : bufio.NewReader(os.Stdin)fmt.Print(请输入一行内容: )input, _ : reader.ReadString(
) // 读取一行输入fmt.Println(你输入的是:, input)
}