go - 如何使用 Go 为应用程序制作自定义标题栏?
问题描述
这是一个有点长的问题,刚刚过去的问题。我目前正在学习如何使用 Go,并且正在开发一个聊天应用程序。我对编程一无所知,所以我想我会从小处着手。
具体来说,我想知道如何制作一个基本框,顶部有一个自定义窗口标题栏。我正在运行 Manjaro Linux,使用 VSCode 作为我的 IDE。这就是我现在想知道的。
感谢你们能给我的任何帮助。
此外,人们都知道:我选择 Go-lang 是因为编译时间有多快,以及语言的简单性。从我听到的内容来看,这是一个很好的开端,我可以理解为什么。
解决方案
Go 不支持开箱即用的 GUI、图形用户界面(窗口、按钮、复选框等),并且用于 GUI 的 3rd 方库还不完全存在。Go 是一门很棒的语言,它试图做的事情:命令行工具和 API。
如果你真的想学习 Go,那么从几个命令行应用程序开始可能是入门的方式。Go 在他们的 Golang 之旅中有一个很棒的教程,它将引导您了解基础知识。如果你真的,真的想在 Go 中使用 GUI,那么编写网页可能是最好的主意,但是你必须学习 HTML/CSS/Javascript。它们不是坏语言,但我不建议一次学习太多语言。
如果你真的想用 GUI 编写程序,那么其他语言可能会提供更好的初学者体验。.Net WinForms 非常容易上手,尽管我很喜欢 Go,但我发现自己经常将它与 C# 进行比较 (1)。Visual Studio 社区版免费且功能强大。学习 HTML 和 Javascript 也可能不是一个坏主意。HTML 定义了结构,而 Javascript 可以让它“做”一些事情。网络不会很快消失,因此这些语言提供了很长的寿命。Java、Python,甚至特定的生态系统,如 Android(用 Java 或 Kotlin 编程)或 iOS(用 Swift 编程,但如果你没有 mac 可能会很困难)也支持 GUI。
尽管我很喜欢 Go,但我不会向想要制作 GUI 的初学者推荐它。
1:不是因为它们是相似的语言,而是因为我都喜欢它们,而且我做 C# 的时间更长了。
推荐阅读
- azure-devops - Azure DevOps - 选择不同的 IterationPath(工作项表)
- javascript - 为什么 canplaythrough 不能按预期工作
- openssl - OpenSSL PCKS12 支持被破坏了吗?
- node.js - 现有的 nodeJS 和 swagger JS 文档不起作用
- java - Java - 二进制插入排序 StackOverFlowError
- python - 在系列 1..系列 1 中查找系列 2 中元素的位置:[1,2,3,4,5,6,7] 系列 2[1,3,7] 示例输出:[0,2,6]
- .net-core - 如何修复错误:“Google.Apis.Auth:应为 YouTubeAPI 设置至少一个客户端机密(已安装或 Web)”
- laravel - 检查日期时间是否在数据库 Laravel 6 中的两个日期时间之间
- javascript - 如何使用来自后端的数据和 node.js 在前端绘制图表?
- amazon-web-services - 解决 AWS CDK CloudFormation 堆栈之间的循环依赖关系