以输出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. 关于docker构建镜像

    今天正好看到这一块了,记录一下,希望可以帮助到大家. 构建Dockerfile 先来看一个示例: --------------------------------------------------- ...

  2. Luogu P1273 有线电视网

    最近写DP写得比较多了 但是POJ上的题目太傻比了而且不想看英文的题面,然后就在Luogu的试炼场里找了一个DP EX专题写了一下(大概3days吧,一天一题差不多) 这是一道比较简单的DP 话说树形 ...

  3. python 23 种 设计模式

    频率 所属类型 模式名称 模式 简单定义 5 创建型 Singleton 单件 保证一个类只有一个实例,并提供一个访问它的全局访问点. 4 创建型 Abstract Factory 抽象工厂 提供一个 ...

  4. 06-Git-Linux命令

    Git 命令 Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库 一.新建代码库 # 新建一个目录,将其初始化为Git代 ...

  5. noi.ac 257 B

    链接 题目 区间[l,r]是连续满足,[l,r]中的数字的权值区间是一段连续的.多次询问可以完包含一个区间的连续区间.区间长度尽量小,如果有多个输出左端点靠左的. 分析: [l,r]区间是连续的,当且 ...

  6. 初次接触Dynamics 365

    最近项目上需要用到微软的Dynamics 365 这个产品,Bing上搜索了一下,看了很多大佬在博客上分享了使用Dynamics 365的经验,简单了解了Dynamics 365 是什么,也有很多大企 ...

  7. DevOps架构下如何进行微服务性能测试?

    一. 微服务架构下的性能测试挑战 微服务与DevOps 微服务是实现DevOps的重要架构 微服务3S原则 DevOps核心点 微服务架构下的业务特点 亿级用户的平台 单服务业务随时扩容 服务之间存在 ...

  8. 四种遍历hashMap的方法及比较

    学习怎样遍历Java hashMap及不同方法的性能. // hashMap的遍历 public void testHashMap() { Map<String, String> map ...

  9. 《Linux内核分析》第三周

    [李行之原创作品 转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000] <Linux内 ...

  10. APP相关问题汇总

    APP试用过程中,我们的APP存在不少的问题,下面是一些试用者和我们自己发现的一些问题以及一些建议. 1.APP界面有些老气,界面之间过渡僵硬 2.在试用中会出现闪退情况 3.由于我们使用的是绝对布局 ...