当前位置: 首页 > 面试题库 >

在go / golang中代表换行符的最可移植/跨平台方式是什么?

江天宇
2023-03-14
问题内容

目前,为了表示go程序中的换行符,我使用\n。例如:

package main

import "fmt"


func main() {
    fmt.Printf("%d is %s \n", 'U', string(85))
}

…将产生85 is U一个换行符。

但是,这似乎并不是跨平台的。在其他语言中,PHP用全局常量(PHP_EOL)表示这一点。是\n代表在GO /
golang一个跨平台的具体方式换行的路吗?


问题答案:

我对此感到很好奇,因此决定看看究竟是做什么的fmt.Println。http://golang.org/src/pkg/fmt/print.go

如果您滚动到最底部,你会看到一个if addnewline地方\n,总是使用。我很难说这是否是最“跨平台”的方式,而go最初在早期就与linux绑定在一起,但这就是std lib的用途。

我最初只是建议使用,fmt.Fprintln并且这可能仍然有效,好像当前的功能不合适,可以提交一个错误,然后仅需要使用最新的Go工具链来编译html" target="_blank">代码。



 类似资料:
  • 问题内容: 我的程序可以接受具有\ n,\ r \ n或\ r换行符的数据(例如Unix,PC或Mac样式) 构造匹配任何编码的正则表达式的最佳方法是什么? 另外,我可以在输入上使用Universal_newline支持,但是现在我很想看看正则表达式是什么。 问题答案: 我想精确使用的正则表达式是。 当我不关心一致性或空行时,我使用,我想这会使我的程序快0.2%。

  • MOAC的基础链节点是基于 以太坊 项目开发的,具有类似的借口环境。 在MOAC基础链上开发分布式应用(DAPP) 1. 在MOAC基础链上部署Solidity编写的智能合约,确保有能够接入MOAC链的节点, 可以使用主网公共节点(http://gateway.moac.io/mainnet)或者测试网公共节点(http://gateway.moac.io/testnet)。 Remix, a b

  • 问题内容: 我想在Unix和Windows上使用特定于平台的目录。请看一下代码: 这个输出 我想第二次打电话给(windows)类似 是否可以告诉我在Windows上运行的程序使用Windows分隔符?还是应该始终将反斜杠转换 为正斜杠()?这里首选的策略是什么? 问题答案: 我看到“问题”在哪里。在golang-nuts上的讨论为我提供了提示,该提示始终使用并且是用于依赖平台的操作的函数。 在W

  • 嗯,任何人都可以说这个问题已经被问到并回答了。不要紧,我也找到他们了。 JAX-RS:如何在返回响应对象时自动序列化集合? 通过GenericEntity在RESTful响应对象中使用Java-generics模板类型 我对使用响应的方式并不感到困惑,只是对可移植性不太相信。 据了解,GlassFish和WileFly工作。 和JSON(我认为它可能因提供者而异) 有时,当容器找不到时,我会发现一

  • 本文向大家介绍PHP语言的一大优势是跨平台,什么是跨平台?相关面试题,主要包含被问及PHP语言的一大优势是跨平台,什么是跨平台?时的应答技巧和注意事项,需要的朋友参考一下 PHP的运行环境最优搭配为Apache+MySQL+PHP,此运行环境可以在不同操作系统(例如windows、Linux等)上配置,不受操作系统的限制,所以叫跨平台

  • 问题内容: 我想开发一个小型Go应用程序,该应用程序向演示文稿的受众显示使用的按键快捷方式。 为了了解键盘事件,我将必须使用一些平台特定的代码。 封装平台特定代码的Go方法是什么? 我一直在寻找诸如编译器开关或平台模块之类的关键字,但我实际上找不到任何相关信息。 问题答案: 平台特定代码的解决方案是构建约束。 构建约束,也称为构建标记,是开始的行注释 列出了在文件中应包含文件的条件。约束可能会出现