欢迎光临散文网 会员登陆 & 注册

Go语言编程动手练习丨编程实现人机交互

2023-04-10 16:49 作者:全栈开发圈  | 我要投稿


4.23来清华社多得IT BOOK!

本文使用Go语言的内置包fmt实现数据输入和输出功能。

内置包fmt的Printf()函数将数据以字符串格式输出,它的语法定义如下:

Printf(format string, a ...interface{}) (n int, err error)

语法说明

1)参数format以字符串类型表示,数据以双引号“""”或反引号“``”表示,并支持字符串格式化,即在字符串里面设置变量,使数据能随着变量值的变化而变化。

2)参数a是不固定参数,即允许设置0或多个参数;参数类型为空接口,即支持任意数据类型的数据,主要为字符串格式化提供变量设置。

3)返回值n为整型,代表输出字符串的长度。

4)返回值error代表函数执行过程中出现的异常信息。

除了Printf()函数之外,内置包fmt还定义了其他输出函数:Sprintf()、Println()和Sprintln(),函数说明如下:

1)Sprintf()与Printf()的参数相同,返回值为字符串类型,它将输出字符串作为函数返回值。

2)Println()只要参数a,它是不固定参数,参数类型为空接口,允许输出0个或多个数据,返回值n和error分别代表输出数据的长度和异常信息。

3)Sprintln()与Println()的参数相同,返回值为字符串类型,输出数据以字符串类型作为函数返回值。

内置包fmt的Scanln()函数允许用户在程序命令行输入数据,它的语法定义如下:

Scanln(a ...interface{}) (n int, err error)

语法说明

1)参数a是不固定参数,即允许设置0或多个参数;参数类型为空接口,即支持任意数据类型的数据,它用于存储用户输入的数据。

2)返回值n为整型,代表输入字符串的长度。

3)返回值error代表函数执行过程中出现的异常信息。

除了Scanln()函数之外,内置包fmt还定义了其他输入函数:Scan()、Scanf()、Sscan()和Sscanln()等,它们的功能和使用方式都是大同小异,本书就不再详细讲述。

了解了Go语言的输入和输出函数后,下一步使用输入和输出函数实现人机交互功能,简单来说就是用户按照提示输入数据,程序就输出对应的内容,实现过程如下:

package main

 

import "fmt"

 

func main() {

    // 定义变量name、age、addr

    // 用于存储用户输入的数据

    var name, age, addr string

    // 输出操作提示

    fmt.Printf("请输入你的名字:\n")

    // 存储用户输入的数据

    fmt.Scanln(&name)

    // 输出操作提示

    fmt.Printf("请输入你的年龄:\n")

    // 存储用户输入的数据

    fmt.Scanln(&age)

    // 输出操作提示

    fmt.Printf("请输入你的居住地:\n")

    // 存储用户输入的数据

    fmt.Scanln(&addr)

    // 输出用户输入的所有数据

    fmt.Printf("你的名字是:%v,年龄:%v,居住地:%v",name,age,addr)

}

在GoLand中运行上述代码,在GoLand的Run窗口按照程序提示输入数据并按回车键完成当前输入,输入数据在Run窗口无法显示,数据直接存储在变量name、age和addr中,只有通过输出函数输出变量值才能看到用户输入的数据,如图所示。

运行结果


本文内容摘自黄永祥《Go语言编程从入门到实践》,了解更多Go语言编程知识请购买正版图书。

4.23来清华社多得IT BOOK!

http://product.dangdang.com/29413927.html

https://item.jd.com/13184903.html

Go语言编程动手练习丨编程实现人机交互的评论 (共 条)

分享到微博请遵守国家法律