একক স্ট্রিংয়ের স্ট্রাইসের টুকরোতে কীভাবে যোগদান করবেন?


129
package main

import (
"fmt"
"strings"
)

func main() {
reg := [...]string {"a","b","c"}
fmt.Println(strings.Join(reg,","))
}

আমাকে একটি ত্রুটি দেয়:

prog.go: 10: স্ট্রিংয়ের সাথে যুক্তিতে [] স্ট্রিং টাইপ হিসাবে [টাইপ [3] স্ট্রিং) ব্যবহার করতে পারে না oin যোগ দিন

লুপিং করে কোনও ভারে যোগ করার চেয়ে আরও কি প্রত্যক্ষ / ভাল উপায় আছে?


2
শুধু ব্যবহার reg := []string {"a","b","c"}করবেন না কেন ?
শান এম

উত্তর:


100

আপনার প্রশ্নের শিরোনাম:

একক স্ট্রিংয়ের স্ট্রাইসের টুকরোতে কীভাবে যোগদান করবেন?

কিন্তু আসলে, regহয় না একটি ফালি, কিন্তু একটি দৈর্ঘ্য তিন অ্যারে। [...]stringকেবলমাত্র সিনট্যাকটিক চিনির জন্য (এই ক্ষেত্রে) [3]string

একটি সত্য স্লাইস পেতে, আপনার লিখতে হবে:

reg := []string {"a","b","c"}

(এটি ব্যবহার করে দেখুন: https://play.golang.org/p/vqU5VtDilJ ।)

ঘটনাক্রমে, যদি আপনার সত্যিই কোনও স্ট্রিংয়ের স্ট্রিংগুলির একটি অ্যারে যোগ দেওয়ার প্রয়োজন হয় তবে আপনি অ্যারে থেকে একটি স্লাইস পেতে পারেন, এটি যোগ করে [:]:

fmt.Println(strings.Join(reg[:], ","))

(এটি ব্যবহার করে দেখুন: https://play.golang.org/p/zy8KyC8OTuJ ।)


7
প্লিজ, নিজেই উত্তরে ওয়ার্কিং কোড সরবরাহ করুন, খেলার মাঠটি একটি প্লাস তবে গ্রহণযোগ্য উত্তরের জন্য যথেষ্ট নয় ;-)। TY!
শায়ডিক্স

8
@ শাডিয়েক্স: আমি সম্মত হই যে খেলার মাঠের লিঙ্কটি কঠোর পরিপূরক; তবে আমি নিশ্চিত না যে আপনি উত্তরটি সঠিকভাবে অনুপস্থিত তা কি মনে করছেন। ওপির একমাত্র ত্রুটিটি 10 ​​লাইন ছিল, এবং আমি সেই লাইনটির সংশোধিত সংস্করণ প্রদান করেছি, এবং একসাথে ব্যাখ্যা সহ। (আপনি কি পরামর্শ দিচ্ছেন যে আমি তার পুরো উদাহরণটির উত্তরটি অনুলিপি করা উচিত? যদি তাই হয় তবে আমি একমত নই।)
রুখ

1
"একটি স্ট্রাইসে একটি টুকরোতে যোগ দেওয়ার চেষ্টা করা হচ্ছে" আপনার সমাধানটি কেবল সাধারণ স্লাইসের ধরণের পরিবর্তে স্ট্রিংয়ের টুকরো জন্য কাজ করে ।
স্টিভেন রুজ

107

একটি স্লাইস ব্যবহার করুন, অ্যারে নয়। কেবল এটি ব্যবহার করে তৈরি করুন

reg := []string {"a","b","c"}

যোগদানের সময় একটি বিকল্পটি আপনার অ্যারেটিকে একটি টুকরোতে রূপান্তরিত করতে হবে:

fmt.Println(strings.Join(reg[:],","))

পড়ুন টুকরা এবং অ্যারে এর ভিন্নতা নিয়ে যান ব্লগ


26

এটি 2018 সালে এখনও প্রাসঙ্গিক।

স্ট্রিং

import strings
stringFiles := strings.Join(fileSlice[:], ",")

আবার স্লাইসে ফিরে যান

import strings
fileSlice := strings.Split(stringFiles, ",")
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.