看到有人说GO是未来10年的主流了,不论是速度迅速接近于C,还是语法简洁接近于C,结果尽然还是编译型的,不需要虚拟机,生成程序已经是本地字节码。

得,我不淡定了,这个不学,枉为程序员啊。

今天,讲讲linux平台,GO开发环境搭建。

一. 下载包
https://www.golangtc.com/static/go/1.9/go1.9.linux-amd64.tar.gz
哈哈,
https://www.golangtc.com/static/go/1.9/go1.9.windows-amd64.msi
交代一下,windows 上所有浏览器都不能下载这个源;CentOS 上也
不能下载这个源;但是Ubuntn 虚拟机上能下。哈哈,所以在此把
windows 上的msi 安装包也一并下载下来了。
二. 安装包
1. tar -xzf go1.9.linux-amd64.tar.gz -C /usr/local
2. vim /etc/profile
export GOROOT=/usr/local/go
export PATH=$GOROOT/bin:$PATH
export GOPATH=/root/gopkg
3. 刷新环境变量
source /etc/profile
4. 确认是否成功 go version
/usr/local/go/bin/go: cannot execute binary file
哈哈,这个是操作系统位数出问题,我们安装的是64 位,
CentOS 是32 位
怎么办,重办[下载32 位GO]

三. DEMO

因为现在做C的缘故,我的例子是这样

1. C 静态库

// foo.h
int count;
void foo();

//foo.c
#include <stdio.h>
#include <stdlib.h>
#include "foo.h"
int count = 6;

void foo()
{
printf("I am foo!\n");
}

gcc -o foo.o -c foo.c
arrv libfoo.a foo.o

//test-c-go.go

package main
// #cgo LDFLAGS: -L ./ -lfoo
// #include "foo.h"
import "C"
import "fmt"
func main() {
fmt.Println(C.count)
C.foo()
}

go build test-c-go-1.go

./test-c-go-1
6
I am foo!

Finally:

这叫从C跨到GO

哈哈,GO GO GO, 你现在有基础了,开GO吧:)

GO language的更多相关文章

  1. <%@ page contentType="text/html; charset=utf-8" language="java"%>每一个字符的含义

    contentType="text/html:网页类型htmlcharset=utf-8"网页编码类型language="java"网页编程语言<% @ ...

  2. UML(Unified Modeling Language)统一建模语言

    什么是模型 模型是对现实的简化 模型是提供系统的蓝图,模型可是包括详细计划.也可是是从更高程度考虑系统的总体计划,每个系统可以从不同的方面用不通过的模型来描述.因而每个模型都是在语义上闭合的抽象系统. ...

  3. iOS Swift-元组tuples(The Swift Programming Language)

    iOS Swift-元组tuples(The Swift Programming Language) 什么是元组? 元组(tuples)是把多个值组合成一个复合值,元组内的值可以使任意类型,并不要求是 ...

  4. iOS Swift-控制流(The Swift Programming Language)

    iOS Swift-控制流(The Swift Programming Language) for-in 在Swift中for循环我们可以省略传统oc笨拙的条件和循环变量的括号,但是语句体的大括号使我 ...

  5. iOS Swift-简单值(The Swift Programming Language)

    iOS Swift-简单值(The Swift Programming Language) 常量的声明:let 在不指定类型的情况下声明的类型和所初始化的类型相同. //没有指定类型,但是初始化的值为 ...

  6. Traditional Language Model

    Traditional Language Model通常用于回答下述问题: How likely is a string of English words good English ? \(p_{LM ...

  7. language level in Intellij IDEA

    The Language level setting sets which features the code assistance in the editor should support. For ...

  8. Java Programming Language Enhancements

    引用:Java Programming Language Enhancements Java Programming Language Enhancements Enhancements in Jav ...

  9. SharePoint Site "Language Settings"功能与CSOM的对应

    博客地址:http://blog.csdn.net/FoxDave SharePoint网站中的语言设置:"Language Settings",可以用CSOM通过Site的一些 ...

  10. Why sql is called structured query language?1 - 12

    SQL has much to do with a researcher at IBM, Edgar F. (Ted) Codd, an Oxford-trained mathematician, w ...

随机推荐

  1. 怎样将M4A音频格式转换成MP3格式

    因为MP3音频格式应用的广泛性,所以很多时候我们都需要将不同的音频格式转换成MP3格式的,那么如果我们需要将M4A音频格式转换成MP3格式,我们应该怎样进行实现呢?下面我们就一起来看一下吧. 操作步骤 ...

  2. Error creating bean with name 'eurekaAutoServiceRegistration'

    spring-boot项目不断重启,报错: org.springframework.beans.factory.BeanCreationNotAllowedException: Error creat ...

  3. CodeForces 1056E - Check Transcription - [字符串hash]

    题目链接:https://codeforces.com/problemset/problem/1056/E One of Arkady's friends works at a huge radio ...

  4. Oracle 变量之 DDL_LOCK_TIMEOUT

    DDL_LOCK_TIMEOUTProperty DescriptionParameter type IntegerDefault value 0Modifiable ALTER SESSIONRan ...

  5. JS弹出对话框的三种方式

    JS弹出对话框的三种方式 我们用到了alert()方法.prompt()方法.prompt()方法,都是在网页有一个弹出框,那么就让我们探究一下他们之间的区别: 一.第一种:alert()方法 < ...

  6. [nginx] load balancing & location

    一 将NGINX配置成7层load balancer,该怎么做? 参见: http://nginx.org/en/docs/http/load_balancing.html https://docs. ...

  7. [yum] yum使用光盘安装或更新软件

    https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_ ...

  8. 第一版STM32PCB的问题

    1.5与6引脚连在一起了 2.有3个插排隔得太近,导致传感器安装不了 3.开关不匹配,画PCB时可以考虑一下实验室有哪些东西 4.可以用开关代替跳冒 5.AM3.3电路电容 6.钽电容的正负极区分 有 ...

  9. Androidstudio_LinearLayout

  10. SpringMVC 的使用映射路径 <mvc:resources >

    以下是测试结果,可能存在纰漏,暂记录一下. 使用springMVC时,一般将DispatcherServlet请求映射配置为"/",则Spring MVC将捕获Web容器所有的请求 ...