Sobes.tech
Junior — Middle

რა მნიშვნელობას აბრუნებს len ფუნქცია როდესაც იგი სტრიქონის ტიპის მონაცემზე გამოიყენება?

sobes.tech AI

პასუხი AI-სგან

გო ენაში, როდესაც ფუნქცია len გამოიყენება სტრიქონზე, ის აბრუნებს ამ სტრიქონის ბაიტების რაოდენობას, არა სიმბოლოების (rune-ების) რაოდენობას. ეს დაკავშირებულია იმასთან, რომ გოში სტრიქონები ინახება UTF-8 ფორმატში, სადაც ერთი სიმბოლო შეიძლება რამდენიმე ბაიტი იკავოს.

მაგალითი:

s := "Привет"
fmt.Println(len(s)) // გამოიტანს ბაიტების რაოდენობას, მაგალითად 12

თუ გსურთ სიმბოლოების (rune-ების) რაოდენობის მიღება, უნდა გარდაქმნათ სტრიქონი rune-ის სლაისად:

fmt.Println(len([]rune(s))) // გამოიტანს სიმბოლოების რაოდენობას, მაგალითად 6