01-go语言开始-HelloWorld

时间:2022-09-30 11:14:27

以输出HelloWorld为目标

Go的发展史

Go语言诞生(2007年的谷歌)的背景是由于软件开发的新挑战:

  • 多核硬件架构
  • 超大规模分布式计算集群
  • Web模式导致的前所未有的开发规模和更新速度

Go的特点:

  • 简单,关键字很少,只有25个
  • 高效
  • 生产力(复合)
  • 云计算语言
  • 区块链语言

安装和运行HelloWorld

吐槽一下,就这一个HelloWorld我花了大概一个多小时的时间,可能笔者比较笨,哭泣.反正就是各种运行失败, 笔者在go安装完成之后,习惯使用jetbrains的产品,所以下载了golang编辑器,之后就开始使用,建议安装的时候选中64位,还有默认使用它打开.go,最后把右边那个勾上,记不清是啥了,之后在创建一个文件夹,表示以后的go项目和案例都在这个文件夹下,接下来,别着急,在新建的文件夹下创建一个src文件夹,别问我,我也不知道为啥,笔者是java出身的,之后使用golang创建项目创建在这个src下就可以了.

创建好了之后,就可以新建一个文件,正式开始编码,笔者创建HelloWorld.go,代码内容如下:

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

然后右键运行,或者ctrl+shift+F10,运行就可以.就是这么简单,笔者在实验过程中一直犯错,难受,香菇.不过总算是弄出来了.

程序结构
package main
  1. 引入依赖
import "fmt"
  1. 功能实现
func main()  {

	fmt.Println("Hello World")

}

注意事项有三点:

  • 必须是main包,但是文件目录不必是main,也就是package main是固定的,否则会报错
  • 必须是main方法,这个与java相同,func main()
  • 文件名不一定是main.go,这个go语言没有类的概念? 迷茫

实验:

  1. 在该项目下重新建个包,复制一份HelloWorld到新包下,还是能正常运行的(在Java中是需要修改包路径的,这个需要注意与Java不同)
  2. 退出返回值
    • Go中main函数不支持任何返回值
    • 通过os.Exit来返回状态(os.Exit(0)表示正常退出,感觉就是手动抛异常)
  3. 获取命令行参数
    • main函数不支持传入参数
    • 在程序中直接通过os.Args获取命令行参数
package main

import (
"fmt"
"os"
) func main() { if len(os.Args) > 1{
fmt.Println("Hello World, " + os.Args[1])
} } 使用命令行运行: go run Hello_World.go wangzhi,就可以看到结果了

初次接触go,写的有点乱,日常笔记,不正确之处还请指正

01-go语言开始-HelloWorld的更多相关文章

  1. Rust语言之HelloWorld Web版

    Rust语言之HelloWorld Web版 下面这篇文章值得仔细研读: http://arthurtw.github.io/2014/12/21/rust-anti-sloppy-programmi ...

  2. Rust语言之HelloWorld

    Rust语言之HelloWorld 参考文档: http://doc.crates.io/guide.html 1 什么是Cargo 相当于maven/ant之于java, automake之于c, ...

  3. 01 C语言程序设计--01 C语言基础--第1章 C语言概述&第2章 GCC和GDB

    走进嵌入式开发的世界,企业级项目课程让你达到企业嵌入式应用开发要求.名师在线答疑,解决疑难.科学评测体系,系统评估学习.核心项目实........ 30 门课程 241小时12分钟 824 人学习 学 ...

  4. 01 C语言程序设计--01 C语言基础--第3章 基本数据类型01

    01.1.3.1序言 00:02:17 01.1.3.2 C语言中的基本元素和常量的概念 00:08:54 01.1.3.3示例--常量 00:12:08 01.1.3.4变量的概念和命名规则 00: ...

  5. 从小白到区块链工程师:第一阶段:Go语言的HelloWorld初始(2)

    四.写下第一段Go语言代码“Hello World” 小建议:就是文件夹路径或者文件名称不要出现中文,可能会导致一些不必要的麻烦(编译失败) 在sublime中,我们在src文件夹上面,单击右键“Ne ...

  6. Go语言学习笔记(一) [Go语言的HelloWorld]

    日期:2014年7月18日   1.简介     Go 编程语言是一个使得程序员更加有效率的开源项目.Go 是有表达力.简 洁.清晰和有效率的.它的并行机制使其很容易编写多核和网络应用,而新奇的类型系 ...

  7. macbook下 go 语言的 helloworld

    go语言开发的目录 一般go语言$GOPATH 目录约定有三个子目录: src 存放源代码(比如:.go .c .h .s等) pkg 编译后生成的文件(比如:.a) bin 编译后生成的可执行文件( ...

  8. Java语言输出HelloWorld

    1.新建一个名为HelloWorld.txt的文本文件. 2.将HelloWorld.txt改为.java. 3.将HelloWorld.java用文本文件的方式打开,并输入代码. 4.打开命令行,进 ...

  9. 1.go语言入门----Helloworld与包引用

    HelloWorld与包引用 学习一门语言的惯例都是从helloworld开始,go语言也不例外 在gopath下的src中创建一个helloworld目录,创建main.go文件 package m ...

随机推荐

  1. [AlwaysOn Availability Groups]排查:AG配置

    排查AG配置 本文主要用来帮助排查在AG配置时出现的问题,包括,AG功能被禁用,账号配置不正确,数据库镜像endpoint不存在,endpoint不能访问. Section Description A ...

  2. 背水一战 Windows 10 (8) - 控件 UI: StateTrigger

    [源码下载] 背水一战 Windows 10 (8) - 控件 UI: StateTrigger 作者:webabcd 介绍背水一战 Windows 10 之 控件 UI VisualState 之 ...

  3. JProfiler入门笔记

    看链接:http://blog.csdn.net/chendc201/article/details/22897999 收集一下.

  4. js深入研究之神奇的匿名函数类生成方式

    <script type="text/javascript"> var Book = (function() { // 私有静态属性 ; // 私有静态方法 funct ...

  5. LeetCode OJ 110&period; Balanced Binary Tree

    Given a binary tree, determine if it is height-balanced. For this problem, a height-balanced binary ...

  6. php追加编译GD库

    一.准备工作. 安裝 GD 前需要安裝 jpegsrc.v7.tar.gz, libpng-1.6.17.tar.gz, zlib-1.2.8.tar.gz, freetype-2.5.5.tar.g ...

  7. wow&period;js让css3动画变动更有趣(滚动页面动画模拟懒加载特效)

    CSS3的出现给网站页面增加了活力,网站增色不少,有这么小小的一款插件就能做出很多动画效果. 最重要的是它:简单易用.轻量级.无需 jQuery......他就是wow.js 地址:https://d ...

  8. A1126&period; Eulerian Path

    In graph theory, an Eulerian path is a path in a graph which visits every edge exactly once. Similar ...

  9. oracle数据恢复方法

    https://www.cnblogs.com/hqbhonker/p/3977200.html

  10. 最新版 INSPINIA IN&plus; - WebApp Admin Theme v2&period;7&period;1,包含asp&period;net MVC5示例代码,做管理系统最佳的选择。

    下载地址:http://download.csdn.net/download/wulang1988/10039402 最新版 INSPINIA IN+ - WebApp Admin Theme v2. ...