用Go语言进行数学 、科学领域的计算

golang实现的轻量级解释型语言,解析文本,数学计算等 golang实现编程语言,解析表达式,算术操作,自定义函数等。 阅读详情

表达式

代码如下:

package main

import (
	t "tools"
)

func main() {
	t.Printfln("%08b", 1)
	t.Printfln("%08b", 2)
	t.Printfln("1&2=%08b%", 1&2)
	t.Printfln("1&2=%d", 1&2)
}

运行结果 如下:

main.go:4:2: package tools is not in GOROOT (C:\Program Files\Go\src\tools)

后来再次运行结果: 

[Running] go run "c:\Users\a-xiaobodou\OneDrive - Microsoft\Projects\Go\main.go"
00000001
00000010
1&2=00000000%!
(MISSING)1&2=0

[Done] exited with code=0 in 10.727 seconds

体重指数的代码如下:

package main

import (
	t "tools"
)

func main() {
	W := 65.0
	H := 1.75
	BMI := W / (H * H)
	t.Printfln("BMI: %.2f", BMI)
	if BMI < 18.5 {
		t.Printfln("偏瘦")
	} else if (18 <= BMI) && (BMI < 24) {
		t.Printfln("正常")
	} else if 24 <= BMI && BMI < 28 {
		t.Printfln("偏胖")
	} else if 28 <= BMI && BMI < 30 {
		t.Printfln("肥胖")
	} else if BMI >= 30 {
		t.Printfln("重度肥胖")
	}
}

运行结果如下:

[Running] go run "c:\Users\a-xiaobodou\OneDrive - Microsoft\Projects\Go\main.go"
BMI: 21.22
正常

[Done] exited with code=0 in 9.032 seconds

代码如下:

package main

import (
	"fmt"
	"os"
	t "tools"
)

func main() {
	args := os.Args
	var W float64
	var H float64
	fmt.Sscanf(args[1], "%f", &W)
	fmt.Sscanf(args[2], "%f", &H)
	t.Printfln("体重:%.2f", W)
	t.Printfln("身高:%.2f", H)
	BMI := W / (H * H)
	t.Printfln("BMI: %.2f", BMI)
	if BMI < 18.5 {
		t.Printfln("偏瘦")
	} else if (18 <= BMI) && (BMI < 24) {
		t.Printfln("正常")
	} else if 24 <= BMI && BMI < 28 {
		t.Printfln("偏胖")
	} else if 28 <= BMI && BMI < 30 {
		t.Printfln("肥胖")
	} else if BMI >= 30 {
		t.Printfln("重度肥胖")
	}
}

运行结果如下:

PS C:\Users\a-xiaobodou\OneDrive - Microsoft\Projects\Go> go run main.go 60 1.70
体重:60.00
身高:1.70
BMI: 20.76
正常
PS C:\Users\a-xiaobodou\OneDrive - Microsoft\Projects\Go> 

另外一种方法的运行结果:(不出结果)

PS C:\Users\a-xiaobodou\OneDrive - Microsoft\Projects\Go> go install main.go
go install: no install location for .go files listed on command line (GOBIN not set)
PS C:\Users\a-xiaobodou\OneDrive - Microsoft\Projects\Go> go build main.go
PS C:\Users\a-xiaobodou\OneDrive - Microsoft\Projects\Go> main 60 1.70
PS C:\Users\a-xiaobodou\OneDrive - Microsoft\Projects\Go> main.exe 60 1.70
main.exe : The term 'main.exe' is not recognized as the name of a cmdlet, function, script file, or operable program. C
heck the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ main.exe 60 1.70
+ ~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (main.exe:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException


Suggestion [3,General]: The command main.exe was not found, but does exist in the current location. Windows PowerShell does not load commands from the current location by default. If you trust this command, instead type: ".\main.exe". See "get-help about_Command_Precedence" for more details.
PS C:\Users\a-xiaobodou\OneDrive - Microsoft\Projects\Go> .\main 60 1.70
体重:60.00
身高:1.70
BMI: 20.76
正常
PS C:\Users\a-xiaobodou\OneDrive - Microsoft\Projects\Go>

代码如下:

package main

import (
	"os"
	t "tools"
)

func main() {
	args := os.Args
	for i, v := range args {
		t.Printfln("命令行参数%v: %v", i, v)
	}
}

运行结果如下:

PS C:\Users\a-xiaobodou\OneDrive - Microsoft\Projects\Go> go build main.go
PS C:\Users\a-xiaobodou\OneDrive - Microsoft\Projects\Go> main abc 123 "How are you!"
PS C:\Users\a-xiaobodou\OneDrive - Microsoft\Projects\Go> main.exe abc 123 "How are you!"
main.exe : The term 'main.exe' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was i
ncluded, verify that the path is correct and try again.
At line:1 char:1
+ main.exe abc 123 "How are you!"
+ ~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (main.exe:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException
 

Suggestion [3,General]: The command main.exe was not found, but does exist in the current location. Windows PowerShell does not load commands from the current location by default. If you trust this command, instead type: ".\main.exe". See "get-help about_Command_Precedence" for more details.
PS C:\Users\a-xiaobodou\OneDrive - Microsoft\Projects\Go> .\main.exe abc 123 "How are you!"  
命令行参数0: C:\Users\a-xiaobodou\OneDrive - Microsoft\Projects\Go\main.exe
命令行参数1: abc
命令行参数2: 123
命令行参数3: How are you!
PS C:\Users\a-xiaobodou\OneDrive - Microsoft\Projects\Go> 

Go语言的科学计算实战 1.背景介绍 1.1 Go语言的崛起 Go语言,也被称为Golang,是由Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。自2009年发布以来,Go语言凭借其简洁的语法、高效的性能和强大的并发处理能力,迅速在全球范围内获得了广泛的应用。 阅读详情

相关推荐

Go基础:常用数学函数处理(主要是math包rand包的处理)

Go语言的math包提供了丰富的数学运算功能,包含常用数学常量(如Pi、E)、基本运算(四舍五入、取整)、指数对数函数、三角函数等。这些函数经过高度优化,适用于科学计算、图形学等领域。示例代码展示了如何使用这些函数计算圆的周长面积、勾股定理、连续复利以及三角函数值。math包还提供取绝对值、最大最小值等实用函数,是Go语言中进行数学运算的核心工具库。

数据知道的博客 5737

golang —— go语言科学记数法使用

go语言的科学记数法 package main import "fmt" func main() { fmt.Printf("%f\n", 1.345e9)//e9 就是小数点向右移动9位 fmt.Printf("%.10f\n", 12344E-9)//e-9就是小数点向左移动9位,%.10f表示精确到小数点后10位 fmt.Printf("%.2e\n", 12312312...

The_Reader的博客 3621

Go-Gosl–Go的科学计算库

Gosl – Go的科学计算库

【go科学计算】详解 gonum 科学计算工具包

Gonum 是一个由 Go 语言编写的数值计算和科学计算工具包,包含了多个子库,提供了丰富的数值计算、线性代数、统计学、优化、网络分析等功能。Gonum/mat:提供了矩阵和向量计算相关的函数,包括基本的矩阵运算、线性方程组求解、特征值分解、奇异值分解等。Gonum/graph:提供了图论和网络分析相关的函数,包括最短路径、最小生成树、社交网络分析等。Gonum/stat:提供了统计学计算相关的函数,包括概率分布函数、假设检验、回归分析等。Gonum/cmplx:提供了复数计算相关的函数。

Fanjufei的博客 2970

PDF与OFD电子发票解析技术实战:从格式转换到精准识别

本文深入探讨了PDF与OFD电子发票解析技术的实战应用,从格式转换到精准识别,提供了全面的解决方案。通过OFD转PDF技术、动态定位算法和多重校验机制,显著提升电子发票识别效率与准确率,助力企业财务数字化转型。

weixin_42565652的博客 164

实战分享:如何用Java调用Doris FE接口实现高效Stream Load数据导入(附完整代码)

本文详细介绍了如何通过Java调用Doris FE接口实现高效的Stream Load数据导入,包含完整代码示例和性能优化技巧。Stream Load作为Doris的高效数据导入方式,相比传统JDBC提升5-10倍速度,适用于大规模数据处理场景,帮助开发者解决高吞吐量数据导入挑战。

weixin_29304985的博客 419

数学表达式解析计算引擎库:dengsgo/math-engine 使用指南

数学表达式解析计算引擎库:dengsgo/math-engine 使用指南 项目介绍 dengsgo/math-engine 是一个用Go语言编写的数学表达式解析与计算引擎库。它允许开发者方便地集成数学运算功能到他们的应用程序中,支持动态解析并执行数学公式。这个开源工具非常适合那些需要进行数学计算的场景,比如教育软件、数据分析工具或任何需要处理数学表达式的项目。 项目快速启动 要快速开始使用 de...

gitblog_00626的博客 994

114.Android简单的动态切换app的图标,两种方式

- 默认的图标-->-- 需要切换的图标-->android:label="短信"-- 默认activity-->

曹二少的博客 5572

【限时免费】 cjnum:仓颉语言数值计算库

cjnum:仓颉语言数值计算库 【免费下载链接】cjnum 这是一个用于 Cangjie 语言的数值计算库,提供了广泛的数学、科学计算和数值分析功能。 项目地址: https://gitcode.com/Cangjie-SIG/c...

gitblog_01424的博客 356

告别远程控制弹窗:免Root实现投射与录制敏感信息自动授权

本文针对Android远程控制中频繁出现的‘在投射和录制时显示敏感信息’弹窗问题,提供了一套免Root的自动化解决方案。通过结合Shizuku与App Ops两款工具,无需破解系统即可静默授予屏幕投射与录制权限,从而实现稳定、无干扰的远程协助、家庭监控或自动化测试,彻底告别手动授权弹窗的烦恼。

qsc9012345的博客 715

WGCNA加权基因共表达网络分析(1)简介、原理

WGCNA简介 WGCNA(Weighted Gene Co-Expression Network Analysis, 加权基因共表达网络分析),鉴定表达模式相似的基因集合(module),解析基因集合与样品表型之间的联系,绘制基因集合之间的调控网络并鉴定关键调控基因 WGCNA适用于复杂的转录组数据(样本数目较多) 研究不同器官/组织类型和不同阶段的发育调控、生物和非生物胁迫的不同时间响应机制 WGCNA原理 原理概要 1.构建基因共表达网络:先构建基因共表达网络,通常利用两两基因之间的表达模式来计算

qq_44520665的博客 3万+

golang面经必学之math包的用法和场景

Go语言的math包提供了基本的数学运算和一些高阶数学函数。

qwerty_funny的博客 946

GNSS差分码偏差(DCB)从原理到实战:如何避免数据处理中的常见错误

本文深入解析GNSS差分码偏差(DCB)的原理及其对高精度定位的关键影响。针对数据处理中因忽略DCB校正导致的常见错误,如单系统PPP高程偏差、多系统融合精度下降及电离层研究失真等,提供了实战解决方案与主流DCB产品获取、集成方法,帮助用户有效规避陷阱,提升数据处理精度。

k5l6m的博客 224

php状态机,有限状态机FSM的原理与GO的实现

有限状态机(Finite-state machine, 简写FSM)又可以称作有限状态自动机。它必须是可以附着在某种事物上的,且该事物的状态是有限的,通过某些触发事件,会让其状态发生转换。为此,有限状态机就是描述这些有限的状态和触发事件及转换行为的数学模型。有限状态机组成有限状态机有两个必要的特点,一是离散的,二是有限的。基于这两点,现实世界上绝大多数事物因为复杂的状态而无法用有限状态机表示。而描...

weixin_34060672的博客 481

NFC门禁卡复制全解析:从M1卡到UID卡的攻防实践

本文深入解析了NFC门禁卡的安全机制与攻防实践。从M1卡基于Crypto1算法的原理漏洞讲起,详细阐述了利用Proxmark3等工具进行侦听、破解密钥及使用UID卡进行复制的完整攻击链条。同时,为防御方提供了从升级CPU卡、启用全扇区认证到部署多因子验证的系统性防护策略,旨在帮助管理员构建更稳固的物理安全防线。

weixin_29182481的博客 1401

基于深度学习的工业零件缺陷检测系统

工业零件缺陷检测系统摘要 本文介绍了一个基于深度学习的工业零件缺陷检测系统解决方案。该系统采用Faster R-CNN目标检测算法,结合PyTorch框架和OpenCV图像处理库,实现了对工业零件表面缺陷(如裂纹、划痕、凹坑等)的自动检测与定位。系统包含完整的开发流程:从数据采集与标注、数据增强预处理、模型构建与训练,到最终的评估与部署。相比传统机器视觉方法,该深度学习方案具有更强的特征表示能力和环境适应性,能够有效提升工业质检的准确率和效率。文章详细阐述了系统架构设计、实现细节和优化策略,并提供了完整的代

huanghm88的专栏 286

探索Go语言中复数类型的奇妙世界

Go语言中复数类型的引入使得我们在处理复杂数学计算时更加方便,也拓展了语言的应用领域。

howard2005的专栏 1237

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Go语言 科学计算库 Gonum 学习1

Gonum Installation 安装 The core packages of the gonum suite are written in pure Go with some assembly. gonum套件的核心软件包是用纯Go语言编写的,并带有一些程序集。 Installation is done using go get. 使用go get完成安装。 go get -u gonum...

Alex 6295

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Go 破圈:Go+ 带你快速了解数据科学领域

大家好,我是煎鱼。前段时间,Go 语言圈子内有一件事情特别的火,就是七牛云的许式伟带头基于 Go 语言,研发了一门新的语言 Go+,其面向的技术领域是数据科学领域。Go+ 所关注的赛道,是...

EDDYCJY的博客 1073

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Awesome Go的数学计算:高精度数学与统计库

还在为Go语言标准库中数学功能的局限性而烦恼吗?当面对复杂的科学计算、高精度数值运算或统计分析需求时,标准库的`math`包往往显得力不从心。金融计算需要精确的十进制运算,机器学习算法依赖矩阵操作,工程仿真要求解微分方程——这些场景都需要更强大的数学工具支持。 读完本文,你将获得: - ???? Go生态中最全面的数学计算库全景图 - ???? 高精度数值计算解决方案 - ???? 专业统计分析与数据处理...

gitblog_00609的博客 1015

柴树杉:面向数据科学领域的新语言,Go+蓄势待发

在上个世纪 70 年代,贝尔实验室的 Ken Thompson 和 Dennis M. Ritchie 合作发明了 UNIX 操作系统,同时 Dennis M. Ritchie 为了解决 ...

梦醒人间 832

用于科学计算的Go语言教程 | Gopher Daily (2021.08.02) ʕ◔ϖ◔ʔ

每日一谚:In Go, constants are mathematically precise.Go技术生态Go是如何计算len()的?- https://tpaschalis.gith...

TonyBai 723

谁说 Go 语言不能做数据科学?

大家好,我是煎鱼。前几天七牛云在4 月 10 日 - 11 日在上海举办了一场技术盛宴:ECUG Con 2021。其中七牛云 CEO、ECUG 发起人许式伟在大会上以「Go+ 与数据科...

EDDYCJY的博客 446

Go语言科学计算利器:shopspring/decimal完整使用指南

在Go语言开发中,处理精确的十进制数值计算一直是个挑战。shopspring/decimal库提供了任意精度的定点十进制数支持,特别是在科学计算和金融应用中表现出色。这个强大的Go库能够准确解析科学记数法表示的数值,让复杂的数学运算变得简单可靠。🎯 ## 什么是shopspring/decimal? shopspring/decimal是一个专为Go语言设计的任意精度定点十进制数库。与Go语

gitblog_01039的博客 522

python语言属于科学计算语言吗_Go会是一门合适的科学计算语言吗?

在我学习工作中经常需要经常涉及到一些数值计算的问题,之前我一直采用python进行编程,有时候我也会采用Matlab实现一些复杂的计算。 就我目前所了解的,Python和Matlab (特指内置的M语言)是目前主流的动态语言中最适合科学计算的。Matlab主要优势在于内置的大量数学函数,而Python在文本处理方面则要更胜一筹,另外,Python作为一门独立的编程语言,显然更具有灵活性。然而,Ma...

weixin_39901412的博客 413

我的Go+语言初体验——Python开发者轻松上手

这应该是全优快云最好的Go+语言初体验征文了 我的Go+语言初体验——Python开发者轻松上手!

叶庭云 成为自己的光 2761
上一篇: Go语言的排版工具
下一篇: Go语言的游乐场
DXB2021
博客等级 码龄5年 307粉丝 289原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值