不一样的go语言之入门篇-Hello World

  这是《不一样的go语言》的开篇之作,我尝试以java语言转变者的角度来聊一聊go语言。所以今天先从go语言的基础开始,即语法。

  学习一门新的编程语言,必从语法开始。但需要注意的是,对于一个有大量项目经验的程序员来说,可能看完语言介绍或者看完Hello World之后,就着急地想着上手写个小东东玩玩,比如写个简单的web服务。但是将一门新的语言应用到实际项目中需要的东西很多很多。诸如go语言的项目结构是怎么样的?有没有什么约定?用什么IDE?依赖是怎么管理的?项目是怎么构建的?是怎么发布的?如果带着这么多的思想负担去学习一门新语言,这个时间花费恐怕会得不偿失。

  因而我觉得回归本真最好不过。回到C语言的时代,面向过程、面向单文件编程。所以的代码放在一个文件里,使用命令行编译、运行。

  接下来的示例,就是go语言版的Hello World。新建文件main.go

[eventer@localhost]# vi main.go

然后敲入以下代码:

package main

import "fmt"

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

  要编译、运行这段代码,需要安装go sdk。伟大的先驱者们,已经为我们开辟了绿色通道。sdk及官方文档都可以在go 语言中文网找到,目前go语言的最新版本是1.11。

  一个题外话,go语言从1.5版本开始实现自举(Bootstrap,用要编译的目标编程语言编写其编译器或汇编器),也就是用go语言写编译器,然后用来编译go语言写的代码。因此当你需要从go1.5的源码来构建go sdk的话,需要先下载安装go1.4或者使用gcc构建go1.4的源码,当你有go1.4的go编译器的时候,就可以用它来编译go1.5的源码,从而得到go语言版的编译器。

go sdk: 下载链接

  下载安装之后,设置GOROOT环境变量为go sdk所在目录,然后设置一个工作目录的环境变量GOPATH,用于存放未来要用到第三方包及你的程序。

  至此,你可以使用以下命令编译、运行上面那段代码了。

[eventer@localhost]# go run main.go

  波澜不惊,可是一个Hello World 能看出什么来呢?那还是让我们来看看各大语言的 Hello World 是长什么样的吧。

Java版

package com.eventer.test;

import java.lang;

public class Test {
    public static void main(String[] args) {
        System.out.Println("Hello World!");
    }
}

Python版

print "Hello World!\n";

C语言版

#include <stdio.h>

void main() {
    printf("Hello World!\n");
}

C++版

#include <iostream>

void main() {
    using namespace std;
    cout << "Hello World!\n";
}

nodejs版

console.log('Hello World!');

C#版

using System;

public class HelloWorld
{
    public static void Main()
    {
        Console.WriteLine("Hello World");
    }
}

Common Lisp 版

(print "Hello World");

Lua 版

print "Hello World!/n"

  从这么来看,go没有更简洁也没有更复杂。所以确实从一个 Hello World 来看一门语言,真的看不出什么来。当然设计一门语言也不是从 Hello World 来开始设计的。可以得出结论,Hello World只是为了让你觉得写个 Hello World挺简单的,赶快麻利地搭建环境吧。

  下一篇将详细地讲述go语言更多地语法。

参考文献

Hello World来自哪里

Lisp的本质

欢迎关注个人公众号:不一样的go语言
关注个人公众号

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Go语言中,实现一个Hello World程序非常简单。首先,你需要声明一个主包(main package),这是Go语言程序的入口。然后,你需要导入fmt包,这个包包含了一些用于格式化文本和打印输出的函数。接下来,你可以在主函数(main function)中调用fmt包中的Println函数,将"hello world"作为参数传递给它,这样就可以在控制台打印出"hello world"了。以下是一个示例的Go语言Hello World程序的代码: ```go package main import "fmt" func main() { fmt.Println("hello world") } ``` 你可以在终端中使用`go run`命令来运行这个程序,例如`go run hello.go`。你也可以使用`go build`命令将程序编译为二进制文件,然后运行它。编译后的二进制文件可以在当前目录下找到,例如`hello.exe`(Windows系统)或`hello`(Linux或Mac系统)。希望这个解答对你有帮助!\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* [go语言快速入门——helloworld程序](https://blog.csdn.net/zy010101/article/details/125839107)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [1-1 go语言的helloworld](https://blog.csdn.net/qq_32350131/article/details/108652743)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值