go语言第三章(fmt 输入与输出)

简介: go语言第三章(fmt 输入与输出)

go语言第三章(fmt 输入与输出)

首先没有编译器的可以通过这个网址进行敲代码:Lightly

简介

在 Go 语言中,输入和输出的操作都是通过标准库包 fmt 中的函数来完成的。下面简单介绍一下如何进行输入和输出操作。

输入

在 Go 语言中,使用 fmt 包中的 Scan 和 Scanf 函数可以从控制台读取用户输入的内容。Scan 函数可以按照空格分隔读取多个值,Scanf 函数则需要提供格式化字符串以指定读取的数据类型和格式。

例如,以下代码示例演示了如何使用 Scan 函数读取用户输入的字符串和整数,并将这些值存储到变量中:

package main
import "fmt"
func main() {
    var name string
    var age int
    fmt.Print("请输入姓名和年龄:")
    fmt.Scan(&name, &age)
    fmt.Printf("姓名:%s,年龄:%d\n", name, age)
}

上述代码会要求用户输入姓名和年龄,然后使用 Scan 函数读取这些值,并将它们存储到变量 name 和 age 中。接着,我们使用 Printf 函数将这些变量的值输出到控制台。需要注意的是,在使用 Scan 函数时,一定要确保变量地址传递正确,否则可能引发运行时错误。

输出

在 Go 语言中,使用 fmt 包中的 Println 函数可以将字符串或其他数据类型的值输出到控制台:

package main
import "fmt"
func main() {
    fmt.Println("Hello, World!")
}

上述代码会输出 “Hello, World!” 到控制台。

如果要将多个变量的值输出到控制台,则可以使用 Printf 函数,它可以接收格式化字符串作为第一个参数,在格式化字符串中使用占位符指定输出的数据类型和格式,后面的参数表示需要输出的变量:

package main
import "fmt"
func main() {
    name := "Alice"
    age := 18
    fmt.Printf("姓名:%s,年龄:%d\n", name, age)
}

例题

1. 计算并输出两个整数的和

package main
import "fmt"
func main() {
    var a, b int
    fmt.Print("请输入两个整数:")
    fmt.Scan(&a, &b)
    sum := a + b
    fmt.Printf("%d 和 %d 的和为 %d\n", a, b, sum)
}

2. 根据用户输入的半径计算圆的面积和周长

package main
import "fmt"
func main() {
    var radius float64
    fmt.Print("请输入圆的半径:")
    fmt.Scan(&radius)
    area := 3.14 * radius * radius
    circumference := 2 * 3.14 * radius
    fmt.Printf("圆的面积为 %.2f,周长为 %.2f\n", area, circumference)
}

3. 将摄氏度转换为华氏度并输出结果

package main
import "fmt"
func main() {
    var celsius float64
    fmt.Print("请输入摄氏度:")
    fmt.Scan(&celsius)
    fahrenheit := (celsius * 9 / 5) + 32
    fmt.Printf("%.2f 摄氏度 = %.2f 华氏度\n", celsius, fahrenheit)
}


相关文章
|
编译器 Go
揭秘 Go 语言中空结构体的强大用法
Go 语言中的空结构体 `struct{}` 不包含任何字段,不占用内存空间。它在实际编程中有多种典型用法:1) 结合 map 实现集合(set)类型;2) 与 channel 搭配用于信号通知;3) 申请超大容量的 Slice 和 Array 以节省内存;4) 作为接口实现时明确表示不关注值。此外,需要注意的是,空结构体作为字段时可能会因内存对齐原因占用额外空间。建议将空结构体放在外层结构体的第一个字段以优化内存使用。
|
运维 监控 算法
监控局域网其他电脑:Go 语言迪杰斯特拉算法的高效应用
在信息化时代,监控局域网成为网络管理与安全防护的关键需求。本文探讨了迪杰斯特拉(Dijkstra)算法在监控局域网中的应用,通过计算最短路径优化数据传输和故障检测。文中提供了使用Go语言实现的代码例程,展示了如何高效地进行网络监控,确保局域网的稳定运行和数据安全。迪杰斯特拉算法能减少传输延迟和带宽消耗,及时发现并处理网络故障,适用于复杂网络环境下的管理和维护。
|
存储 安全 Java
【Golang】(4)Go里面的指针如何?函数与方法怎么不一样?带你了解Go不同于其他高级语言的语法
结构体可以存储一组不同类型的数据,是一种符合类型。Go抛弃了类与继承,同时也抛弃了构造方法,刻意弱化了面向对象的功能,Go并非是一个传统OOP的语言,但是Go依旧有着OOP的影子,通过结构体和方法也可以模拟出一个类。
602 2
|
Cloud Native 安全 Java
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
881 1
|
JSON 编解码 API
Go语言网络编程:使用 net/http 构建 RESTful API
本章介绍如何使用 Go 语言的 `net/http` 标准库构建 RESTful API。内容涵盖 RESTful API 的基本概念及规范,包括 GET、POST、PUT 和 DELETE 方法的实现。通过定义用户数据结构和模拟数据库,逐步实现获取用户列表、创建用户、更新用户、删除用户的 HTTP 路由处理函数。同时提供辅助函数用于路径参数解析,并展示如何设置路由器启动服务。最后通过 curl 或 Postman 测试接口功能。章节总结了路由分发、JSON 编解码、方法区分、并发安全管理和路径参数解析等关键点,为更复杂需求推荐第三方框架如 Gin、Echo 和 Chi。
|
分布式计算 Go C++
初探Go语言RPC编程手法
总的来说,Go语言的RPC编程是一种强大的工具,让分布式计算变得简单如同本地计算。如果你还没有试过,不妨挑战一下这个新的编程领域,你可能会发现新的世界。
390 10
|
Cloud Native Go API
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
759 0
|
Cloud Native Java Go
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
588 0
|
Cloud Native Java 中间件
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
620 0
|
Cloud Native Java Go
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
1788 0

热门文章

最新文章