热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Golang的第一个程序Hello World

Golang的第一个程序-Hello World-目录1.第一个程序2.官方解释3.包的概念在编写第一个go程序之前,记得将系统的环境变量配好:配置go安装目录的bin目录到系统p

在编写第一个go程序之前,记得将系统的环境变量配好:

配置go安装目录的bin目录到系统path中,这样在任何一级目录都可直接使用bin文件夹下的指令了;
新增一个GOPATH变量,值为以后创建go项目的目录路径。

下面直接是go的hello world小程序分享以及go文件的编译、运行命令;

1.第一个程序

hello.go

package main

import "fmt"

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

终端输出:

GOROOT=C:\Go #gosetup
GOPATH=E:\Go #gosetup
C:\Go\bin\go.exe build -o C:\Users\柏杉\AppData\Local\Temp\GoLand\___go_build_hello_go.exe E:\Go\test1\hello.go #gosetup
C:\Users\柏杉\AppData\Local\Temp\GoLand\___go_build_hello_go.exe
Hello World

2.官方解释

package greetings 

import "fmt" 

// Hello 返回指定人员的问候语。
func Hello(name string) string { 
    // 返回在消息中嵌入名称的问候语。
    message := fmt.Sprintf("Hi, %v. Welcome!", name) 
    return message 
}

这是我们模块的第一个代码。它会向任何请求的呼叫者返回问候语。您将在下一步编写调用此函数的代码。

在此代码中,我们可以:

  • 声明一个greetings包来收集相关功能。
  • 实现一个Hello函数来返回问候语。

函数接受一个类型为string的name参数。该函数还返回一个字符串。在Go中,名称以大写字母开头的函数可以由不在同一包中的函数调用。这在Go中称为导出名称。

在这里插入图片描述

声明一个message变量来保存你的问候。

在Go中,:=运算符是在一行中声明和初始化变量的快捷方式(Go使用右侧的值确定变量的类型)。从长远来看,您可能会这样写:

var message string
message = fmt.Sprintf("Hi, %v. Welcome!", name)
  • 使用fmt包的Sprintf函数创建问候语。第一个参数是格式字符串,Sprintf用名称参数的值替换%v格式谓词。插入name参数的值完成问候语文本。
  • 将格式化的问候语文本返回给呼叫者。

3.包的概念

  • 和python⼀样,把相同功能的代码放到⼀个⽬录,称之为包
  • 包可以被其他包引⽤
  • main包是⽤来⽣成可执⾏⽂件,每个程序只有⼀个main包
  • 包的主要⽤途是提⾼代码的可复⽤性

推荐阅读
  • Go 快速入门指南命令行参数
    命令行参数个数调用os包即可。获取参数个数,遍历参数packagemainimport(fmtos)funcmain(){fmt.Printf(Numberofargsi ... [详细]
  • golang 解析磁力链为 torrent 相关的信息
    其实通过http请求已经获得了种子的信息了,但是传播存储种子好像是违法的,所以就存储些描述信息吧。之前python跑的太慢了。这个go并发不知道写的有没有问题?!packag ... [详细]
  • 本文介绍了在多平台下进行条件编译的必要性,以及具体的实现方法。通过示例代码展示了如何使用条件编译来实现不同平台的功能。最后总结了只要接口相同,不同平台下的编译运行结果也会相同。 ... [详细]
  • 集成第三方库,自检测读取配置文件。文件读取,结构体定义,接口实现,错误返回,库解析,适合新同学练手。思路文件读取获取字节流文件类型分析,确定解析api集成第三方解析api管理器定义 ... [详细]
  • 小编给大家分享一下Golang端口复用测试的实现方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有 ... [详细]
  • 关键词:Golang, Cookie, 跟踪位置, net/http/cookiejar, package main, golang.org/x/net/publicsuffix, io/ioutil, log, net/http, net/http/cookiejar ... [详细]
  • 看到平台银行对接方案写的demo确实还不错记个笔记互相学习学习packageapiimport(cryptotlsnetnethttpstringssynct ... [详细]
  • 目录在Go语言项目中使用Zap日志库介绍默认的GoLogger日志库实现GoLogger设置Logger使用LoggerLogger的运行GoLogger的优势和劣势优势劣势Ube ... [详细]
  • Go冒泡排序练习
    package main要求:随机生成5个元素的数组,并使用冒泡排序对其排序  从小到大思路分析:随机数用mathrand生成为了更好 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 本文讨论了使用差分约束系统求解House Man跳跃问题的思路与方法。给定一组不同高度,要求从最低点跳跃到最高点,每次跳跃的距离不超过D,并且不能改变给定的顺序。通过建立差分约束系统,将问题转化为图的建立和查询距离的问题。文章详细介绍了建立约束条件的方法,并使用SPFA算法判环并输出结果。同时还讨论了建边方向和跳跃顺序的关系。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • java io换行符_Java IO:为什么从stdin读取时,换行符的数字表示出现在控制台上?...
    只是为了更好地理解我在讲座中听到的内容(关于Java输入和输出流),我自己做了这个小程序:publicstaticvoidmain(String[]args)thro ... [详细]
  • 校园表白墙微信小程序,校园小情书、告白墙、论坛,大学表白墙搭建教程
    小程序的名字必须和你微信注册的名称一模一样在后台注册好小程序。mp.wx-union.cn后台域名https。mp.wx-union.cn ... [详细]
  • 七、Golang之切片(slice)-由于数组的长度是固定的,所以有很多的局限性,所以今天讲切片,切片是一个拥有相同类型且长度可变的有序集合,切片和数组两种不同的数据类型,它是基于 ... [详细]
author-avatar
cocoa_小米多本_148
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有