以输出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. 20155216 Exp3 免杀原理与实践

    Exp3 免杀原理与实践 基于特征码的改变来实现免杀(实践过程记录) MSF编码器编译后门检测 可以通过VirSCAN来检验后门抗杀能力. ps:选择后门前修改其文件名,不得含有数字. 如上图所示,3 ...

  2. 20155222卢梓杰 实验八 Web基础

    实验八 Web基础 1.安装apache sudo apt-get install apache2 2.启动apache service apache2 start 3.使用netstat -tupl ...

  3. 20155226 Exp2 后门原理与实践

    20155226 Exp2 后门原理与实践 第一次实验博客交了蓝墨云未在博客园提交,链接 1.Windows获得Linux Shell 在windows下,打开CMD,使用ipconfig指令查看本机 ...

  4. 20155308『网络对抗技术』Exp5 MSF基础应用

    20155308『网络对抗技术』Exp5 MSF基础应用 一.原理与实践说明 实践内容 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路.具体需要完成: 一个主动攻击实 ...

  5. # 20155337《网络对抗》Exp7 网络欺诈防范

    20155337<网络对抗>Exp7 网络欺诈防范 实践目标 实践内容 本实践的目标理解常用网络欺诈背后的原理,以提高防范意识,并提出具体防范方法.具体实践有 (1)简单应用SET工具建立 ...

  6. POJ 1328&&2109&&2586

    这次是贪心(水笔贪心)专题. 先看1328,一道经典的导弹拦截(或者是打击?不懂背景). 大意是说在一个坐标系中有一些点(或是导弹),你要在x轴上建一些东西,它们可以拦截半径为d的圆范围中的点.问最少 ...

  7. HW 2017 12 17可禾大佬神题

    好不容易搞来的题目,不写一写怎么行呢. 不过难度真心不高(一小时K掉),都是老题+暴力题,没有欧洲玄学. 再说一句,这试卷是叶可禾出的吧. T1 好老的题目,看到有多组数据我还怕了,以为有更流弊的算法 ...

  8. Python中类和对象在内存中是如何保存?

    类以及类中的方法在内存中只有一份,而根据类创建的每一个对象都在内存中需要存一份,大致如下图: 如上图所示,根据类创建对象时,对象中除了封装 name 和 age 的值之外,还会保存一个类对象指针,该值 ...

  9. 9、Dockerfile实战-Nginx

    上一节我们详解Dockerfile之后,现在来进行实战.我们通过docker build来进行镜像制作. build有如下选项: [root@localhost ~a]# docker build - ...

  10. effective c++ 笔记 (3-4)

    //---------------------------15/03/26---------------------------- 3:const函数的哲学思辨:就当是科普知识吧!如果成员函数是con ...