001_Go hello world
一、go获取程序参数及指针地址示例
package main
import (
"fmt"
"os"
) func main() {
fmt.Println(os.Args); if len(os.Args) > 1{
fmt.Println("Hi", os.Args[1])
}else {
fmt.Println("Hello world")
os.Exit(3)
} fmt.Println(*foo())
} func foo() *string{
s := "Hello arun"
return &s
}/*
Hi ggg
Hello arun
*/
(1)go run helloworld.go
(2)go build helloworld.go && ./hellowold
注意事项:main函数没有参数和返回值
package main
import (
"fmt"
"os"
) //func main() int { //func main must have no arguments and no return values
func main() { //func main must have no arguments and no return values
fmt.Println("Hello arun!")
//return 1
os.Exit(-1)
}
二、编写测试go测试程序
1.源码文件以_test结尾: xxx_test.go
2.测试方法名以Test开头: func TestXXX(t *testing.T) {...}
package fib
import (
"fmt"
"testing"
) func TestFibonacciCreation(t *testing.T) {
//t.Log("Log print")
/* var a int =1
var b = 1
var n int = 5*/ /* var (
a int = 1
b = 1 //自动类型推断
n int = 5
)*/ var a, b , n= 1, 1, 5 fmt.Print(a)
for i :=0;/*短变量声明 := */ i< n; i++{
fmt.Print(" ", b)
tmp := a
a = b
b = tmp + b
}
fmt.Println()
}/*
=== RUN TestFibonacciCreation
1 1 2 3 5 8
--- PASS: TestFibonacciCreation (0.00s)
PASS
*/
09:04
001_Go hello world的更多相关文章
- 001_go语言中的hello world
代码演示: package main import "fmt" func main() { fmt.Println("hello world") } 代码解读: ...
随机推荐
- cmake 入门实战
当你的程序只有一个源文件时,直接就可以用gcc命令编译它 g++ main.cc 这样会输出一个main.out https://www.hahack.com/codes/cmake/
- JDK对CAS ABA问题解决-AtomicMarkableReference和AtomicStampedReference
我们知道AtomicInteger和AtomicLong的原子操作,但是在这两个类在CAS操作的时候会遇到ABA问题,可能大家会疑问什么是ABA问题呢,请待我细细道来: ABA问题:简单讲就是多线程环 ...
- 技能提升丨Seacms 8.7版本SQL注入分析
有些小伙伴刚刚接触SQL编程,对SQL注入表示不太了解.其实在Web攻防中,SQL注入就是一个技能繁杂项,为了帮助大家能更好的理解和掌握,今天小编将要跟大家分享一下关于Seacms 8.7版本SQL注 ...
- nginx在Centos7.5下源码安装和配置
安装nginx 安装nginx依赖包 yum install -y pcre-devel zlib-devel openssl-devel wget gcc tree vim 进入目录/root/se ...
- #Java学习之路——基础阶段(第十一篇)
我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容. 前言: ...
- Python中路径操作
目录 1. os.path模块 2. pathlib模块 2.1 目录操作 2.2 文件操作 3. shutil模块 3.1 os模块 3.2 shutil模块 1. os.path模块 3.4版本之 ...
- ABP框架连接Mysql数据库
开始想用Abp框架来搭建公司的新项目,虽然一切还没有定数,但是兵马未动,粮草先行,我先尝试一下整个过程,才能够更好的去争取机会. 此次技术选型:Abp(Asp.Net core mvc)+mysql( ...
- Docker核心实现技术(命名空间&控制组&联合文件系统&Linux网络虚拟化支持)
作为一种容器虚拟化技术,Docker深度应用了操作系统的多项底层支持技术. 早期版本的Docker是基于已经成熟的Linux Container(LXC)技术实现的.自Docker 0.9版本起,Do ...
- 命令行程序增加 GUI 外壳
Conmajia © 2012 Updated on Feb. 21, 2018 命令行大家都用过: 图 1 命令行程序工作界面 现在想办法为它做一个 GUI 外壳,实际效果参考图 2. 图 2 带 ...
- 记一次按需加载和npm模块发布实践
按需加载 在使用 lodash 的时候我们可以使用这样的代码 //一 import {omit} from "lodash"; //二 import l from "lo ...