Rust vs Go:常用语法对比(九)
题图来自 Golang vs Rust - The Race to Better and Ultimate Programming Language
161. Multiply all the elements of a list
Multiply all the elements of the list elements by a constant c
将list中的每个元素都乘以一个数
package main
import (
"fmt"
)
func main() {
const c = 5.5
elements := []float64{2, 4, 9, 30}
fmt.Println(elements)
for i := range elements {
elements[i] *= c
}
fmt.Println(elements)
}
[2 4 9 30]
[11 22 49.5 165]
fn main() {
let elements: Vec<f32> = vec![2.0, 3.5, 4.0];
let c = 2.0;
let elements = elements.into_iter().map(|x| c * x).collect::<Vec<_>>();
println!("{:?}", elements);
}
[4.0, 7.0, 8.0]
162. Execute procedures depending on options
execute bat if b is a program option and fox if f is a program option.
根据选项执行程序
package main
import (
"flag"
"fmt"
"os"
)
func init() {
// Just for testing in the Playground, let's simulate
// the user called this program with command line
// flags -f and -b
os.Args = []string{"program", "-f", "-b"}
}
var b = flag.Bool("b", false, "Do bat")
var f = flag.Bool("f", false, "Do fox")
func main() {
flag.Parse()
if *b {
bar()
}
if *f {
fox()
}
fmt.Println("The end.")
}
func bar() {
fmt.Println("BAR")
}
func fox() {
fmt.Println("FOX")
}
BAR
FOX
The end.
if let Some(arg) = ::std::env::args().nth(1) {
if &arg == "f" {
fox();
} else if &arg = "b" {
bat();
} else {
eprintln!("invalid argument: {}", arg),
}
} else {
eprintln!("missing argument");
}
or
if let Some(arg) = ::std::env::args().nth(1) {
match arg.as_str() {
"f" => fox(),
"b" => box(),
_ => eprintln!("invalid argument: {}", arg),
};
} else {
eprintln!("missing argument");
}
163. Print list elements by group of 2
Print all the list elements, two by two, assuming list length is even.
两个一组打印数组元素
package main
import (
"fmt"
)
func main() {
list := []string{"a", "b", "c", "d", "e", "f"}
for i := 0; i+1 < len(list); i += 2 {
fmt.Println(list[i], list[i+1])
}
}
a b
c d
e f
fn main() {
let list = [1,2,3,4,5,6];
for pair in list.chunks(2) {
println!("({}, {})", pair[0], pair[1]);
}
}
(1, 2)
(3, 4)
(5, 6)
164. Open URL in default browser
Open the URL s in the default browser. Set boolean b to indicate whether the operation was successful.
在默认浏览器中打开链接
import "github.com/skratchdot/open-golang/open"
b := open.Start(s) == nil
or
func openbrowser(url string) {
var err error
switch runtime.GOOS {
case "linux":
err = exec.Command("xdg-open", url).Start()
case "windows":
err = exec.Command("rundll32", "url.dll,FileProtocolHandler", url).Start()
case "darwin":
err = exec.Command("open", url).Start()
default:
err = fmt.Errorf("unsupported platform")
}
if err != nil {
log.Fatal(err)
}
}
use webbrowser;
webbrowser::open(s).expect("failed to open URL");
165. Last element of list
Assign to variable x the last element of list items.
列表中的最后一个元素
package main
import (
"fmt"
)
func main() {
items := []string{ "what", "a", "mess" }
x := items[len(items)-1]
fmt.Println(x)
}
mess
fn main() {
let items = vec![5, 6, 8, -20, 9, 42];
let x = items[items.len()-1];
println!("{:?}", x);
}
42
or
fn main() {
let items = [5, 6, 8, -20, 9, 42];
let x = items.last().unwrap();
println!("{:?}", x);
}
42
166. Concatenate two lists
Create list ab containing all the elements of list a, followed by all elements of list b.
连接两个列表
package main
import (
"fmt"
)
func main() {
a := []string{"The ", "quick "}
b := []string{"brown ", "fox "}
ab := append(a, b...)
fmt.Printf("%q", ab)
}
["The " "quick " "brown " "fox "]
or
package main
import (
"fmt"
)
func main() {
type T string
a := []T{"The ", "quick "}
b := []T{"brown ", "fox "}
var ab []T
ab = append(append(ab, a...), b...)
fmt.Printf("%q", ab)
}
["The " "quick " "brown " "fox "]
or
package main
import (
"fmt"
)
func main() {
type T string
a := []T{"The ", "quick "}
b := []T{"brown ", "fox "}
ab := make([]T, len(a)+len(b))
copy(ab, a)
copy(ab[len(a):], b)
fmt.Printf("%q", ab)
}
["The " "quick " "brown " "fox "]
fn main() {
let a = vec![1, 2];
let b = vec![3, 4];
let ab = [a, b].concat();
println!("{:?}", ab);
}
[1, 2, 3, 4]
167. Trim prefix
Create string t consisting of string s with its prefix p removed (if s starts with p).
移除前缀
package main
import (
"fmt"
"strings"
)
func main() {
s := "café-society"
p := "café"
t := strings.TrimPrefix(s, p)
fmt.Println(t)
}
-society
fn main() {
{
let s = "pre_thing";
let p = "pre_";
let t = s.trim_start_matches(p);
println!("{}", t);
}
{
// Warning: trim_start_matches removes several leading occurrences of p, if present.
let s = "pre_pre_thing";
let p = "pre_";
let t = s.trim_start_matches(p);
println!("{}", t);
}
}
thing
thing
or
fn main() {
let s = "pre_pre_thing";
let p = "pre_";
let t = if s.starts_with(p) { &s[p.len()..] } else { s };
println!("{}", t);
}
pre_thing
or
fn main() {
{
let s = "pre_thing";
let p = "pre_";
let t = s.strip_prefix(p).unwrap_or_else(|| s);
println!("{}", t);
}
{
// If prefix p is repeated in s, it is removed only once by strip_prefix
let s = "pre_pre_thing";
let p = "pre_";
let t = s.strip_prefix(p).unwrap_or_else(|| s);
println!("{}", t);
}
}
thing
pre_thing
168. Trim suffix
Create string t consisting of string s with its suffix w removed (if s ends with w).
移除后缀
package main
import (
"fmt"
"strings"
)
func main() {
s := "café-society"
w := "society"
t := strings.TrimSuffix(s, w)
fmt.Println(t)
}
café-
fn main() {
let s = "thing_suf";
let w = "_suf";
let t = s.trim_end_matches(w);
println!("{}", t);
let s = "thing";
let w = "_suf";
let t = s.trim_end_matches(w); // s does not end with w, it is left intact
println!("{}", t);
let s = "thing_suf_suf";
let w = "_suf";
let t = s.trim_end_matches(w); // removes several occurrences of w
println!("{}", t);
}
thing
thing
thing
or
fn main() {
let s = "thing_suf";
let w = "_suf";
let t = s.strip_suffix(w).unwrap_or(s);
println!("{}", t);
let s = "thing";
let w = "_suf";
let t = s.strip_suffix(w).unwrap_or(s); // s does not end with w, it is left intact
println!("{}", t);
let s = "thing_suf_suf";
let w = "_suf";
let t = s.strip_suffix(w).unwrap_or(s); // only 1 occurrence of w is removed
println!("{}", t);
}
thing
thing
thing_suf
169. String length
Assign to integer n the number of characters of string s. Make sure that multibyte characters are properly handled. n can be different from the number of bytes of s.
字符串长度
package main
import "fmt"
import "unicode/utf8"
func main() {
s := "Hello, 世界"
n := utf8.RuneCountInString(s)
fmt.Println(n)
}
9
fn main() {
let s = "世界";
let n = s.chars().count();
println!("{} characters", n);
}
2 characters
170. Get map size
Set n to the number of elements stored in mymap.
This is not always equal to the map capacity.
获取map的大小
package main
import "fmt"
func main() {
mymap := map[string]int{"a": 1, "b": 2, "c": 3}
n := len(mymap)
fmt.Println(n)
}
3
use std::collections::HashMap;
fn main() {
let mut mymap: HashMap<&str, i32> = [("one", 1), ("two", 2)].iter().cloned().collect();
mymap.insert("three", 3);
let n = mymap.len();
println!("mymap has {:?} entries", n);
}
mymap has 3 entries
171. Add an element at the end of a list
Append element x to the list s.
在list尾部添加元素
package main
import "fmt"
func main() {
s := []int{1, 1, 2, 3, 5, 8, 13}
x := 21
s = append(s, x)
fmt.Println(s)
}
[1 1 2 3 5 8 13 21]
fn main() {
let mut s = vec![1, 2, 3];
let x = 99;
s.push(x);
println!("{:?}", s);
}
[1, 2, 3, 99]
172. Insert entry in map
Insert value v for key k in map m.
向map中写入元素
package main
import "fmt"
func main() {
m := map[string]int{"one": 1, "two": 2}
k := "three"
v := 3
m[k] = v
fmt.Println(m)
}
map[one:1 three:3 two:2]
use std::collections::HashMap;
fn main() {
let mut m: HashMap<&str, i32> = [("one", 1), ("two", 2)].iter().cloned().collect();
let (k, v) = ("three", 3);
m.insert(k, v);
println!("{:?}", m);
}
{"three": 3, "one": 1, "two": 2}
173. Format a number with grouped thousands
Number will be formatted with a comma separator between every group of thousands.
按千位格式化数字
package main
import (
"fmt"
"golang.org/x/text/language"
"golang.org/x/text/message"
)
// The Playground doesn't work with import of external packages.
// However, you may copy this source and test it on your workstation.
func main() {
p := message.NewPrinter(language.English)
s := p.Sprintf("%d\n", 1000)
fmt.Println(s)
// Output:
// 1,000
}
1,000
or
package main
import (
"fmt"
"github.com/floscodes/golang-thousands"
"strconv"
)
// The Playground takes more time when importing external packages.
// However, you may want to copy this source and test it on your workstation.
func main() {
n := strconv.Itoa(23489)
s := thousands.Separate(n, "en")
fmt.Println(s)
// Output:
// 23,489
}
23,489
use separator::Separatable;
println!("{}", 1000.separated_string());
174. Make HTTP POST request
Make a HTTP request with method POST to URL u
发起http POST请求
package main
import (
"fmt"
"io"
"io/ioutil"
"net"
"net/http"
)
func main() {
contentType := "text/plain"
var body io.Reader
u := "http://" + localhost + "/hello"
response, err := http.Post(u, contentType, body)
check(err)
buffer, err := ioutil.ReadAll(response.Body)
check(err)
fmt.Println("POST response:", response.StatusCode, string(buffer))
response, err = http.Get(u)
check(err)
buffer, err = ioutil.ReadAll(response.Body)
check(err)
fmt.Println("GET response:", response.StatusCode, string(buffer))
}
const localhost = "127.0.0.1:3000"
func init() {
http.HandleFunc("/hello", myHandler)
startServer()
}
func myHandler(w http.ResponseWriter, r *http.Request) {
if r.Method != "POST" {
w.WriteHeader(http.StatusBadRequest)
fmt.Fprintf(w, "Refusing request verb %q", r.Method)
return
}
fmt.Fprintf(w, "Hello POST :)")
}
func startServer() {
listener, err := net.Listen("tcp", localhost)
check(err)
go http.Serve(listener, nil)
}
func check(err error) {
if err != nil {
panic(err)
}
}
POST response: 200 Hello Alice (POST)
GET response: 400 Refusing request verb "GET"
or
package main
import (
"fmt"
"io/ioutil"
"net"
"net/http"
"net/url"
)
func main() {
formValues := url.Values{
"who": []string{"Alice"},
}
u := "http://" + localhost + "/hello"
response, err := http.PostForm(u, formValues)
check(err)
buffer, err := ioutil.ReadAll(response.Body)
check(err)
fmt.Println("POST response:", response.StatusCode, string(buffer))
response, err = http.Get(u)
check(err)
buffer, err = ioutil.ReadAll(response.Body)
check(err)
fmt.Println("GET response:", response.StatusCode, string(buffer))
}
const localhost = "127.0.0.1:3000"
func init() {
http.HandleFunc("/hello", myHandler)
startServer()
}
func myHandler(w http.ResponseWriter, r *http.Request) {
if r.Method != "POST" {
w.WriteHeader(http.StatusBadRequest)
fmt.Fprintf(w, "Refusing request verb %q", r.Method)
return
}
fmt.Fprintf(w, "Hello %s (POST)", r.FormValue("who"))
}
func startServer() {
listener, err := net.Listen("tcp", localhost)
check(err)
go http.Serve(listener, nil)
}
func check(err error) {
if err != nil {
panic(err)
}
}
[dependencies]
error-chain = "0.12.4"
reqwest = { version = "0.11.2", features = ["blocking"] }
use error_chain::error_chain;
use std::io::Read;
let client = reqwest::blocking::Client::new();
let mut response = client.post(u).body("abc").send()?;
175. Bytes to hex string
From array a of n bytes, build the equivalent hex string s of 2n digits. Each byte (256 possible values) is encoded as two hexadecimal characters (16 possible values per digit).
字节转十六进制字符串
package main
import (
"encoding/hex"
"fmt"
)
func main() {
a := []byte("Hello")
s := hex.EncodeToString(a)
fmt.Println(s)
}
48656c6c6f
use core::fmt::Write;
fn main() -> core::fmt::Result {
let a = vec![22, 4, 127, 193];
let n = a.len();
let mut s = String::with_capacity(2 * n);
for byte in a {
write!(s, "{:02X}", byte)?;
}
dbg!(s);
Ok(())
}
[src/main.rs:12] s = "16047FC1"
176. Hex string to byte array
From hex string s of 2n digits, build the equivalent array a of n bytes. Each pair of hexadecimal characters (16 possible values per digit) is decoded into one byte (256 possible values).
十六进制字符串转字节数组
package main
import (
"encoding/hex"
"fmt"
"log"
)
func main() {
s := "48656c6c6f"
a, err := hex.DecodeString(s)
if err != nil {
log.Fatal(err)
}
fmt.Println(a)
fmt.Println(string(a))
}
[72 101 108 108 111]
Hello
use hex::FromHex
let a: Vec<u8> = Vec::from_hex(s).expect("Invalid Hex String");
178. Check if point is inside rectangle
Set boolean b to true if if the point with coordinates (x,y) is inside the rectangle with coordinates (x1,y1,x2,y2) , or to false otherwise. Describe if the edges are considered to be inside the rectangle.
检查点是否在矩形内
package main
import (
"fmt"
"image"
)
func main() {
x1, y1, x2, y2 := 1, 1, 50, 100
r := image.Rect(x1, y1, x2, y2)
x, y := 10, 10
p := image.Pt(x, y)
b := p.In(r)
fmt.Println(b)
x, y = 100, 100
p = image.Pt(x, y)
b = p.In(r)
fmt.Println(b)
}
true
false
struct Rect {
x1: i32,
x2: i32,
y1: i32,
y2: i32,
}
impl Rect {
fn contains(&self, x: i32, y: i32) -> bool {
return self.x1 < x && x < self.x2 && self.y1 < y && y < self.y2;
}
}
179. Get center of a rectangle
Return the center c of the rectangle with coördinates(x1,y1,x2,y2)
获取矩形的中心
import "image"
c := image.Pt((x1+x2)/2, (y1+y2)/2)
struct Rectangle {
x1: f64,
y1: f64,
x2: f64,
y2: f64,
}
impl Rectangle {
pub fn center(&self) -> (f64, f64) {
((self.x1 + self.x2) / 2.0, (self.y1 + self.y2) / 2.0)
}
}
fn main() {
let r = Rectangle {
x1: 5.,
y1: 5.,
x2: 10.,
y2: 10.,
};
println!("{:?}", r.center());
}
(7.5, 7.5)
180. List files in directory
Create list x containing the contents of directory d.
x may contain files and subfolders.
No recursive subfolder listing.
列出目录中的文件
package main
import (
"fmt"
"io/ioutil"
"log"
)
func main() {
d := "/"
x, err := ioutil.ReadDir(d)
if err != nil {
log.Fatal(err)
}
for _, f := range x {
fmt.Println(f.Name())
}
}
.dockerenv
bin
dev
etc
home
lib
lib64
proc
root
sys
tmp
tmpfs
usr
var
use std::fs;
fn main() {
let d = "/etc";
let x = fs::read_dir(d).unwrap();
for entry in x {
let entry = entry.unwrap();
println!("{:?}", entry.path());
}
}
or
fn main() {
let d = "/etc";
let x = std::fs::read_dir(d)
.unwrap()
.collect::<Result<Vec<_>, _>>()
.unwrap();
for entry in x {
println!("{:?}", entry.path());
}
}
"/etc/issue.net"
"/etc/bindresvport.blacklist"
"/etc/rc1.d"
"/etc/hostname"
"/etc/xattr.conf"
"/etc/resolv.conf"
"/etc/pam.conf"
"/etc/mke2fs.conf"
"/etc/e2scrub.conf"
"/etc/update-motd.d"
"/etc/terminfo"
"/etc/alternatives"
"/etc/ld.so.cache"
"/etc/networks"
"/etc/profile"
"/etc/debconf.conf"
"/etc/security"
"/etc/.pwd.lock"
"/etc/gai.conf"
"/etc/dpkg"
"/etc/rc3.d"
"/etc/fstab"
"/etc/gshadow"
"/etc/sysctl.conf"
"/etc/rc2.d"
"/etc/selinux"
"/etc/ld.so.conf.d"
"/etc/os-release"
"/etc/libaudit.conf"
"/etc/login.defs"
"/etc/skel"
"/etc/shells"
"/etc/rc4.d"
"/etc/cron.d"
"/etc/default"
"/etc/lsb-release"
"/etc/apt"
"/etc/debian_version"
"/etc/machine-id"
"/etc/deluser.conf"
"/etc/group"
"/etc/legal"
"/etc/rc6.d"
"/etc/init.d"
"/etc/sysctl.d"
"/etc/pam.d"
"/etc/passwd"
"/etc/rc5.d"
"/etc/bash.bashrc"
"/etc/hosts"
"/etc/rc0.d"
"/etc/environment"
"/etc/cron.daily"
"/etc/shadow"
"/etc/ld.so.conf"
"/etc/subgid"
"/etc/opt"
"/etc/logrotate.d"
"/etc/subuid"
"/etc/profile.d"
"/etc/adduser.conf"
"/etc/issue"
"/etc/rmt"
"/etc/host.conf"
"/etc/rcS.d"
"/etc/nsswitch.conf"
"/etc/systemd"
"/etc/kernel"
"/etc/mtab"
"/etc/shadow-"
"/etc/passwd-"
"/etc/subuid-"
"/etc/gshadow-"
"/etc/subgid-"
"/etc/group-"
"/etc/ethertypes"
"/etc/logcheck"
"/etc/gss"
"/etc/bash_completion.d"
"/etc/X11"
"/etc/perl"
"/etc/ca-certificates"
"/etc/protocols"
"/etc/ca-certificates.conf"
"/etc/python2.7"
"/etc/localtime"
"/etc/xdg"
"/etc/timezone"
"/etc/mailcap.order"
"/etc/emacs"
"/etc/ssh"
"/etc/magic.mime"
"/etc/services"
"/etc/ssl"
"/etc/ldap"
"/etc/rpc"
"/etc/mime.types"
"/etc/magic"
"/etc/mailcap"
"/etc/inputrc"
本文由 mdnice 多平台发布
相关文章:
Rust vs Go:常用语法对比(九)
题图来自 Golang vs Rust - The Race to Better and Ultimate Programming Language 161. Multiply all the elements of a list Multiply all the elements of the list elements by a constant c 将list中的每个元素都乘以一个数 package mainimport ( "fmt")func …...
Typescript 第五章 类和接口(多态,混入,装饰器,模拟final,设计模式)
第五章 类和接口 类是组织和规划代码的方式,是封装的基本单位。 typescript类大量借用了C#的相关理论,支持可见性修饰符,属性初始化语句,多态,装饰器和接口。 不过,由于Typescript将类编译成常规的JavaScri…...
IFNULL()COALESCE()
在 MySQL 中,IFNULL() 函数是可用的,但是请注意它不能直接用于聚合函数的结果。要在聚合函数结果可能为 NULL 的情况下返回特定值,应该使用 COALESCE() 函数而不是 IFNULL() 函数。 以下是代码示例: COALESCE(SUM(pc.CONTRACT_T…...
WPF实战学习笔记23-首页添加功能
首页添加功能 实现ITodoService、IMemoService接口,并在构造函数中初始化。新建ObservableCollection<ToDoDto>、 ObservableCollection<MemoDto>类型的属性,并将其绑定到UI中修改Addtodo、Addmemo函数,将添加功能添加 添加添加…...
OpenCV-Python常用函数汇总
OpenCV Python OpenCV简述显示窗口waitKey():等待按键输入namedWindow():创建窗口destroyWindow() :注销指定窗口destroyAllWindows() 注销全部窗口resizeWindow() 调整窗口尺寸 图像操作imread():读取图像imwrite():保…...
Vue-router多级路由
目录 直接通过案例的形式来演示多级路由的用法 文件结构 Banner.vue <template><div class"col-xs-offset-2 col-xs-8"><div class"page-header"><h2>Vue Router Demo</h2></div></div> </template><…...
前端学习--vue2--2--vue指令基础
写在前面: 前置内容 - vue配置 文章目录 插值表达式v-html条件渲染v-show和v-ifv-ifv-if的扩展标签复用组件 v-show v-on /事件v-bind /:属性v-modelv-for 循环元素v-slotv-prev-cloak vue指令只的是带有v-前缀的特殊标签属性 插值表达式 插值表达式{…...
【Python机器学习】实验03 logstic回归
文章目录 简单分类模型 - 逻辑回归1.1 准备数据1.2 定义假设函数Sigmoid 函数 1.3 定义代价函数1.4 定义梯度下降算法gradient descent(梯度下降) 1.5 绘制决策边界1.6 计算准确率1.7 试试用Sklearn来解决2.1 准备数据(试试第二个例子)2.2 假设函数与前h相同2.3 代价函数与前相…...
面试-杨辉三角python递归实现,二进制转换
杨辉三角 def yang_hui(x,y):xint(x)yint(y)assert x>y,列数不应该大于行数# x 表示行,y表示列if y1 or yx:return 1else:return yang_hui(x-1,y-1)yang_hui(x-1,y)xinput(输入第几行) yinput(输入第几列) resultyang_hui(int(x),int(y)) print(result) #inclu…...
SPEC CPU 2017 x86_64 Ubuntu 22.04 LTS LLVM 16.0.6 编译 intrate intspeed
源码编译llvm 下载源码 yeqiangyeqiang-MS-7B23:~/Downloads/src$ git clone --depth1 -b 7cbf1a2 https://github.com/llvm/llvm-project 正克隆到 llvm-project... warning: 不能发现要克隆的远程分支 7cbf1a2。 fatal: 远程分支 7cbf1a2 在上游 origin 未发现 yeqiangyeqi…...
java备忘录模式
在Java中,备忘录模式(Memento Design Pattern)用于捕获一个对象的内部状态并在该对象之外保存这个状态。备忘录模式允许在后续需要时将对象恢复到之前保存的状态,而不会暴露其内部结构。 备忘录模式包含以下主要角色:…...
iOS--runtime
什么是Runtime runtime是由C和C、汇编实现的一套API,为OC语言加入了面向对象、运行时的功能运行时(runtime)将数据类型的确定由编译时推迟到了运行时平时编写的OC代码,在程序运行过程中,最终会转换成runtime的C语言代…...
06. 管理Docker容器数据
目录 1、前言 2、Docker实现数据管理的方式 2.1、数据卷(Data Volumes) 2.2、数据卷容器(Data Volume Containers) 3、简单示例 3.1、数据卷示例 3.2、数据卷容器示例 1、前言 在生产环境中使用 Docker,一方面…...
计算机视觉常用数据集介绍
1 MINIST MINIST 数据集应该算是CV里面最早流行的数据了,相当于CV领域的Hello World。该数据包含70000张手写数字图像,其中60000张用于train, 10000张用于test, 并且都有相应的label。图像的尺寸比较小, 为28x28。 数…...
Arcgis画等高线
目录 数据准备绘制等高线3D等高线今天我们将学习如何在ArcGIS中绘制等高线地图。等高线地图是地理信息系统中常见的数据表现形式,它通过等高线将地形起伏展现得一目了然,不仅美观,还能提供重要的地形信息。 数据准备 在开始之前,确保已经准备好了高程数据,它通常以栅格数…...
abp vnext4.3版本托管到iis同时支持http和https协议
在项目上本来一直使用的是http协议,后来因为安全和一些其他原因需要上https协议,如果发布项目之后想同时兼容http和https协议需要更改一下配置信息,下面一起看一下: 1.安装服务器证书 首先你需要先申请一张服务器证书,申请后将证…...
2023年全网电视盒子无线ADB修改桌面(无需ROOT)
前言 1.主要是为了解决电视盒子等安卓设备无法卸载或者停用原始桌面导致无法选用第三方桌面。 解决方案 1.首先自行下载我提供的网盘APK 2.点击打开中国移动云盘 3.不管你是通过U盘还是局域网共享能够让你的电视安装第三方应用,毕竟每个品牌的安装方法不尽相同…...
什么是Java中的Maven?
Java中的Maven,可以简单理解为“一个神奇的工具”,它可以自动帮你管理Java项目的依赖关系,让你不再为手动下载、配置各种库而烦恼。想象一下,你正在写一个Java项目,突然发现需要引入一个名为"第三方库"的模块…...
【C++】总结7
文章目录 函数指针C中类成员的访问权限和继承权限问题定义和声明的区别C中类的静态成员与普通成员的区别是什么?虚函数为什么不能重载为内联函数?对ifdef endif的理解如何在不使用额外空间的情况下,交换两个数? 函数指针 什么是函…...
【前端知识】React 基础巩固(四十二)——React Hooks的介绍
React 基础巩固(四十二)——React Hooks的介绍 一、为什么需要Hook? Hook 是 React 16.8 的新增特性,它可以让我们在不编写class的情况下使用state以及其他的React特性(比如生命周期)。 class组件 VS 函数式组件: class的优势…...
进程地址空间(比特课总结)
一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...
java 实现excel文件转pdf | 无水印 | 无限制
文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...
工程地质软件市场:发展现状、趋势与策略建议
一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...
屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!
5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...
python执行测试用例,allure报乱码且未成功生成报告
allure执行测试用例时显示乱码:‘allure’ �����ڲ����ⲿ���Ҳ���ǿ�&am…...
鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南
1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发,使用DevEco Studio作为开发工具,采用Java语言实现,包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...
保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek
文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama(有网络的电脑)2.2.3 安装Ollama(无网络的电脑)2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...
使用LangGraph和LangSmith构建多智能体人工智能系统
现在,通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战,比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...
在 Spring Boot 中使用 JSP
jsp? 好多年没用了。重新整一下 还费了点时间,记录一下。 项目结构: pom: <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://ww…...
